对基础做个小总结
反射:
动态加载可以在运行时根据类名动态的加载类并创建实例。如我们要创建JDBC驱动的一个实例,可以这样:
又如在struts中,是以Action的类名通过反射来动态加载创建Action实例。
普通的直接调用实例对象的方法是在编译后就直接生成对象方法调用的字节码。动态加载却是在运行中动态生成字节码并加载到JVM中执行。
多态:
动态绑定是指是指在执行期间(非编译期间)判断所引用对象的实际类型,根据其实际的类型调用其相应方法。
多态的3要素:
1、继承
2、重载
3、父类引用指向子类对象
反射:
动态加载可以在运行时根据类名动态的加载类并创建实例。如我们要创建JDBC驱动的一个实例,可以这样:
Class.forName(“com.mysql.jdbc.Driver”) .newInstance();
又如在struts中,是以Action的类名通过反射来动态加载创建Action实例。
普通的直接调用实例对象的方法是在编译后就直接生成对象方法调用的字节码。动态加载却是在运行中动态生成字节码并加载到JVM中执行。
多态:
动态绑定是指是指在执行期间(非编译期间)判断所引用对象的实际类型,根据其实际的类型调用其相应方法。
多态的3要素:
1、继承
2、重载
3、父类引用指向子类对象
public class Parent{
public void sleep();
}
//1.继承
public class Son extends Parent{
//2.重载
public void sleep(){
System.out.println("呼呼……");
}
}
public class App{
public static void main(String[] args){
//3.父类引用指向子类对象
Parent son = new Son();
son.sleep();
}
}