首页 > 代码库 > 接口和反射
接口和反射
一、 接口: interface
a) 语法:
Public interface InterfaceName{
//成员变量
//方法的声明
}
b) 特点:
1、 没有构造方法,不可以实例化。(接口通常是作为类型使用,且假设一个类实现了多个接口,用不同的接口类型接收实现类对象,可以起到限制权限功能)
2、 所有成员变量都是公共静态常量
3、 所有方法只有声明,无方法体
4、 实现/继承的类,必须实现接口中的所有声明方法(除非实现类为抽象类,或接口继承接口)
5、 接口可以多继承
二、 反射 --只给 class文件 反射出对象
//接口
MyType mt = null;
try { //class文件地址 =com.njaccp.s2.javaoop.cha4.reflect.MyTypeImpl 用.代替路径的\\ MyTypeImpl -文件名称
Class<?> c = Class.forName("com.njaccp.s2.javaoop.cha4.reflect.MyTypeImpl"); //class文件地址
mt = (MyType)c.newInstance(); --把路径下获取的接口强转为父类接口
mt.selfIntroduce(); --调用父类接口中的方法
} catch (ClassNotFoundException e) {
System.err.println("字节码文件不存在:"+e.getMessage());
} catch (InstantiationException e) {
System.err.println("获取实例失败");
} catch (IllegalAccessException e) {
System.err.println(e.getMessage());
}
return mt;
接口和反射