枚举, 享元模式,反射,高新技术加强学习笔记
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
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
相关文章推荐
- 黑马程序员—Java基础加强学习笔记之枚举&反射
- 黑马程序员_温习 高新技术一 (个人笔记)摘要(静态导入---可变参数----高级FOR循环---自动装箱(拆箱)----枚举----反射)
- Java高新技术笔记:反射、多线程、泛型、枚举、javaBean、代理
- 黑马程序员--Java基础加强学习笔记之重载和覆写、可变参数、枚举
- 黑马程序员--学习--高新技术--枚举和反射
- 黑马程序员--Java基础加强学习笔记之Class类、反射(Reflect)
- 学习笔记--枚举,反射
- java基础学习笔记之十--反射(1)
- 黑马程序员——JAVA学习笔记——反射机制(下)
- java学习笔记09--反射机制
- 黑马程序员 java高新技术<二>--java5的枚举、反射的深入讲解
- 黑马程序员_高新技术学习笔记(第五章_下)
- swift学习笔记->结构与枚举
- Swift学习笔记 -- 枚举和结构
- Java Reflection(反射) 入门学习笔记 之三 (Array)
- 黑马程序员_java学习日记_Java高新技术_枚举
- 设计模式学习笔记(十二)——Flyweight享元模式
- 黑马程序员_高新技术学习笔记第九章
- 学习笔记15—Java高新技术3
- C#学习笔记12:枚举、结构、数组基础学习