您的位置:首页 > 其它

枚举, 享元模式,反射,高新技术加强学习笔记

2014-03-09 21:10 260 查看
----------------------
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: