---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
1:枚举 属性的值只能是固定值范围内的, 每个元素都是对象 final static 描述属性
public enum WeekDay{SUN(1),MON(),TUE,WED,THI,FIR,SAT; //都是类对象,(1)代表调用带参数的构造方法。
private WeekDay(){};//构造方法必须放到对象下面,还需私有话
private WeekDay(int day){};
}
WeekDay week=WeekDay.SUN;
week.name() //自己的名字
week.ordinal()//返回序号
Week.valueOf("SUN")//静态方法,打一个字符串,变成枚举对象。
Week.values()//得到元素 返回到一个数组中。
public enum Tra{
RED(3){
public Tra nextLamp(){return GREEN;}
},
GREEN(4){
public Tra nextLamp(){return YELLOW;}
},
YELLOW(5){
public Tra nextLamp(){return RED;}
};
public abstract Tra nextLamp();
private int time;
private Tra(int time){this,time=time;}
}
2:享元模式 有很多小的对象,有很多相同的属性,把他们变成一个对象,不同的属性变成方法的参数传入。 内部状态和外部状态
例子:char a='a';
char b=new Character('a');
System.out.println(a==b);//返回值是true 内存中有一个常量池,当第一字符‘a’创建后,其他程序在创建字符'a'时,内存不会再开辟新空间,会只把已经存在的对象地址付给变量。
3:反射: Class类 描述java程序中class的类
3.1获得Class类
类名.class
Class.forName("类名") 返回字节码
对象.getClass()
Method 类方法的类
Field成员变量的类(字段)Class.getField()
Field[] fields=Class.getField()
fields[1].getType()==String.class//返回字段类型 Class类型
fields[1].get() //得到字段的值
fields[1].set()//设置字段值
Method method=String.class.getMethod(方法名称,参数)
method.invoke(对象,参数)
数组的反射:具有相同维数和类型的数组字节码都是一样的。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net