java反射
反射机制与类中对象实例化的过程相反,它可以通过实例对象找到该类,并调用该类的属性与方法。
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的法的功能称为java语言的反射机制。
对象实例化的三种方式
方法一:使用new()关键字----调用构造函数(无参/有参)
方法二:反射机制 newInstance()
Constructor<Employee> constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();
方法三:clone
Employee emp4 = (Employee) emp3.clone();
方法四:反序列化(类实现Serializable接口)
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
Employee emp5 = (Employee) in.readObject();
多线程
方式一:继承(extends) Thread类
Class Example extends Thread(){}
重写run()方法,在主线程(main)中通过类调用start()方法,即
Example.start()
Thread类同样实现了Runnable接口
方式二:实现(implements) Runnable接口(推荐)
Class Example implements Runnable(){}
Java单继承,尽量使用实现接口的方式
重写run()方法,在主线程中
new Thread(Example).start() //静态代理
new Thread()
Thread 代理类
共同实现接口 Runnable()
Example 被代理人
eg.龟兔赛跑
package Thread;
public