5.4 对象包装器与自动装箱
package 反射;
import java.util.AbstractList;
import java.util.ArrayList;
public class test {public static void main(String[] args) {int a=10;ArrayList<Integer> xx=new ArrayList<>();xx.add(a); //自动装箱int b=xx.get(0);//自动拆箱}
}
5.5参数数量可变的方法
package 反射;
import java.util.AbstractList;
import java.util.ArrayList;
public class test {public static void main(String[] args) {m1("aaa");m1("aaa","nnn");}public static void m1(String... aaa)//传若干个 可以表示为数组{//比如String a1=aaa[0];}
}
5.6枚举类
也是一个类 但是限定了对象的个数
所以不能new
枚举的构造方法必须是私有的
package 反射;public enum MMM {AA(10,"1"),BB(20,"b"),CC(30,"c"),DD(40,"d");public int age;public String name;private MMM(int a,String b){age=a;name=b;}public void m1(){}
}
构造器里面若是传参 枚举中的每个对象也得传参
枚举的调用和正常变量没什么区别
package 反射;
import java.util.AbstractList;
import java.util.ArrayList;
public class test {public static void main(String[] args) {MMM x1=MMM.AA;MMM x2=MMM.BB;x1.age=90;x1.name="xiaoli";
}
}
5.7反射
反射和代理是框架的核心
也是架构师的核心
5.7.1 Class类
获取类信息的三种方式:
对象.getClass()
类.class
Class.forname("类的路径")
Employee e;
....
Class cl=e.getClass();
//是将e这个类中的全部的类信息存到cl中
//Class类是用来存储获取到的类信息的