黑马程序员_<<基础加强---反射>>
--------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------
Java类用于描述一类事物的共性,其类有什么属性,不同的实例对象有不同的属性值。就是把java类中的各种成分映射成相应的java类。
Class:表示的是各个java类是否属于同一类事物。描述的是:类的名字,类的访问属性,类所属于的包名,字段名称的列表,方法名称的列表。
比较记忆:
Person类代表人,他的实例是:张三,李四。。等具体的人,
Class类代表java类,他的实例对象对应的是:
对象各个类在内存中的字节码,例如:Person类的字节码,ArrayList类的字节码
一个类被加载器加载到内存中,占用一片存储空间,这个空间里面的内容就是类的字节码,不同的类的字节码是不同的,所以他们在内存中的内容是不同的,这一个个的空间分别用一个个的对象来表示,
2.基本方法
格式:
格式1:类名.class;
格式2:对象.getClass()
格式3:Class.forName(“包名.类名”);
九个预定义对象 基本数据类型(boolean、byte、char、short、int、long、float 和double。)和void
只有这写基本类型的包装类可以通过包装类.TYPE获得所包装的基本类型的Class对象。
public static void main(String[] args) throws Exception { InputStream in=new FileInputStream("nane.properties"); Properties pro=new Properties(); pro.load(in); in.close(); String className=pro.getProperty("className"); Class c=Class.forName(className); Collection con=(Collection)c.newInstance(); con.add(new Person(1,2)); con.add(new Person(4,2)); con.add(new Person(3,2)); con.add(new Person(1,2)); System.out.println("集合长度:"+con.size()); }结果:集合长度:43. 加载资源的位置
1.可是使用绝对路径,但是那么就使用getRealPath,然后进行存数,
2.使用加载器
加载器可以加载java文件,那么也可以加载配置文件,但是有一点缺点,就是配置文件只能读取不能修改,可以使用相对路径,那么最前面要加”/”,否则就不用加”/”,表示的是根目录。
InputStream in=Text.class.getClassLoader().getResourceAsStream("/包名/nane.properties");
Text是运行类的类名,nane.properties是配置的文件
--------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------