java修饰类的使用方法以及使用技巧(分享)

本次主要说明装饰类的使用方法以及注意点,在java编程中装饰类主要是对已经有的类进行增强其方法。在实际应用中我们不可能更改某个项目的源代码。

/*装饰设计模式
 * 当想要对已经有的对象进行功能增强时,
 * 可以定义类,将已有的队形传入,基于已有的功能,并提供加强功能。
 * 那么自定义的该类称为装饰类
 *
 *
 * 装饰类只是对已有的某个类进行加强。前提是必须有这个类。*/

import java.util.*;

class Chifan{
public void chifan(){
System.out.println("早餐");
}
}
class SuperChifan{
private Chifan chifan2=null;
SuperChifan(Chifan chifan2){
this.chifan2=chifan2;
}
public void superchifan(){
chifan2.chifan();
System.out.println("打牌");
System.out.println("喝酒");
System.out.println("写作业");
System.out.println("工作");
}
}
public class Decoration_1 {

public static void main(String[] args) {
// TODO Auto-generated method stub
Chifan chifan1=new Chifan();
SuperChifan superchifan1=new SuperChifan(chifan1);
superchifan1.superchifan();
}

}

以上这篇java修饰类的使用方法以及使用技巧(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java修饰类的使用方法以及使用技巧(分享)

    本次主要说明装饰类的使用方法以及注意点,在java编程中装饰类主要是对已经有的类进行增强其方法.在实际应用中我们不可能更改某个项目的源代码. /*装饰设计模式 * 当想要对已经有的对象进行功能增强时, * 可以定义类,将已有的队形传入,基于已有的功能,并提供加强功能. * 那么自定义的该类称为装饰类 * * * 装饰类只是对已有的某个类进行加强.前提是必须有这个类.*/ import java.util.*; class Chifan{ public void chifan(){ System.

  • Java AtomicInteger类的使用方法详解

    首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下: public class Sample1 { private static Integer count = 0; synchronized public static void increment() { count++; } } 以下是AtomicInteger的: public class Sample2 { private static AtomicInteger count = new AtomicIn

  • Java虚拟机调用Java主类的main()方法

    目录 鸠摩 在前一篇 第1篇关于Java虚拟机HotSpot,开篇说的简单些 中介绍了call_static() .call_virtual()等函数的作用,这些函数会调用JavaCalls::call()函数.我们看Java类中main()方法的调用, 调用栈如下: JavaCalls::call_helper() at javaCalls.cpp os::os_exception_wrapper() at os_linux.cpp JavaCalls::call() at javaCalls

  • Java Method类及invoke方法原理解析

    在说Method和invoke的使用之前我们来看一个小例子, 如果看懂了那就ok了 public class MethodInvoke { class Animal { public void print() { System.out.println("Animal.print()"); } } class Cat extends Animal { @Override public void print() { System.out.println("Cat.print()&

  • PHP图片等比缩放类SimpleImage使用方法和使用实例分享

    使用方法示例:设定宽度,等比例缩放 复制代码 代码如下: <?php   include('SimpleImage.php');   $image = new SimpleImage();   $image->load('picture.jpg');   $image->resizeToWidth(250);   $image->save('picture2.jpg');?> 设定高度,等比例缩放 复制代码 代码如下: <?php   include('SimpleIm

  • jquery中关于bind()方法的使用技巧分享

    .bind()方法可使用.on()方法来代替 on()方法提高代码易读性,如下 $("input").bind("click", { foo: "hello" }, handler); $("input").on("click", { foo: "hello" }, handler); bind()绑定事件的时候,这些元素必须已经存在,而on()可以处理类似于代理这样的东东,也就是说不存

  • 利用java反射机制实现自动调用类的简单方法

    1. 新建TestServlet类 package com.yanek.test; import java.io.IOException; import java.lang.reflect.Method; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.ht

  • 深入剖析Java中String类的concat方法

    目录 Java String类的concat方法 String的两点特殊性 源码分析 String类中concat()方法笔记及底层实现 Java String类的concat方法 在了解concat()之前,首先需要明确的是 String的两点特殊性 长度不可变 值不可变 这两点从源码中对String的声明可以体现: private final char[] value ; 其中final对应值的不可更改的特性:而char[]对应String是长度不可更改的特性. 因此,当我们对String进

  • 基于JSON和java对象的互转方法

    先说下我自己的理解,一般而言,JSON字符串要转为java对象需要自己写一个跟JSON一模一样的实体类bean,然后用bean.class作为参数传给对应的方法,实现转化成功. 上述这种方法太麻烦了.其实有一种东西叫jsonObject可以直接不用新建实体类bean,而实现转化,先说org.json.JSONObject这个JSONObject,贴上代码: import java.beans.IntrospectionException; import java.beans.Introspect

  • 解决Maven 项目报错 java.httpservlet和synchronized使用方法

    使用java8 的lanmbe表达式时,使用java1.8编译,则会报错 需要在pom.xml的<bulid></build>中添加 <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</versi

随机推荐