享元模式/JDK1.5新特性

享元模式(flyweight):
当某些对象或数值使用频率很高,为了节省内存资源,会把这些使用频率高的对象进行“自动装箱”。

 

反射(Class类)
所有的人,可以使用类person来表示,那么所有的java类也可以使用一个类来表示,这个类就是Class类。这个Class类应该具有“类名,所在包,所具有的方法,实现的接口”
反射就是把java类中的各种成分映射为java类来使用。


"19_构造方法的反射应用"逻辑感觉好复杂,有点晕,需要多看几次,最好在网上查查,或者找点书来看。


一个类在内存中是以“字节码”的方式存在的。一个类就是1份字节码,该类的实例对象可以使用getClass()来取到这个字节码名城;或者使用Class类的对象 Class cls1 = Person.class;  来表示Person类的字节码;同时也可以使用Class.forName(“类名”)。Class.forName()1.可以返回字节码。2.当java虚拟机中还没有想要的类字节码,可以使用Class.forName进行加载。

 

JDK1.5新特性
1.静态导入方法集合(import static java.lang.Math.*;)
2.享元模式(flyweight)
3.for循环加强版(for(int arg : args){})
4.OverLoad  vs  override  的区别?
OverLoad叫重载,方法名一样,参数类型或数量不同。
override叫重写,当继承的父类某方法是私有的,子类想要使用该方法,就必须进行重写。
可变参数:
 public static int add(int x, int... args){
  int sum = x;
    for(int i = 0; i < args.length; i++){
   sum += args[i]; }//以数组的方式使用参数。


5.枚举:
枚举规定某些值定义了某些类型,当要给这些值进行赋值时,只能使用之前定义好的类型中对应的数值,若在赋值时不是对应的数值,编译器便宜不通过。这样让我们的问题出现在编译阶段,易于及时发现问题。不可使用除预先规定好的其他值。
枚举类需要使用关键字:enum 进行标记

只要枚举类背调用,该类中的静态变量会被初始化。

枚举的类中的构造方法,必须是private(私有的)
当枚举具有多个重载的构造方法时,可以在变量后面加上(),并在()中加入对应的参数,即可调用该构造方法

枚举父类中带来抽象方法时,在定义该枚举类变量时需要在其子类中对抽象的方法进行重写。

“16_张孝祥Java高新技术_实现带有抽象方法的枚举”这一章节讲解了一个很复杂的“带有抽象方法的枚举”以后可以多看几遍,搞透彻。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值