java中抽象类和接口的多态
2014-06-26 22:30
316 查看
1.接口和抽象函数不可以直接实例化,即不能Key pKey = new Key();只能用子类去实例化,并且具有子类和父类共同代码的功能,实现多态。
2.接口的类型转换,实例的向上转换和向下转换。例子中,getBuildKey函数返回类型是父接口,之后强制转换成子接口类型,那样就可以用子接口的声明调用不同的实现,且子接口相比父接口可以有更多的功能。
3将不同的实现都用父接口保存,在使用的时候可以方便的用类型转换的方法转换到相应的接口上去,使用起来比较方便。
}
运行结果:fun1.SM3
fun2.SM3
2.接口的类型转换,实例的向上转换和向下转换。例子中,getBuildKey函数返回类型是父接口,之后强制转换成子接口类型,那样就可以用子接口的声明调用不同的实现,且子接口相比父接口可以有更多的功能。
3将不同的实现都用父接口保存,在使用的时候可以方便的用类型转换的方法转换到相应的接口上去,使用起来比较方便。
class TestDuoTai { public static void main(String[] args) { ECC pKey; pKey = (ECC)getBuildKey(); pKey.fun1(); pKey.fun2(); } public static Key getBuildKey() { return new SM3(); } } interface Key { void fun1(); void fun2(); } interface ECC extends Key { void fun1(); void fun2(); } class RSA implements ECC { public void fun1() { System.out.println("fun1.RSA"); } public void fun2() { System.out.println("fun2.RSA"); } } class SM2 extends RSA { public void fun1() { System.out.println("fun1.SM2"); } public void fun2() { System.out.println("fun2.SM2"); } } class SM3 extends SM2 { public void fun1() { System.out.println("fun1.SM3"); } public void fun2() { System.out.println("fun2.SM3"); } }
}
运行结果:fun1.SM3
fun2.SM3
相关文章推荐
- 黑马程序员 Java面向对象(继承,抽象类,接口,多态,内部类)
- java 中关于抽象类和接口的范例,通过多态中的向上转移实现
- JAVA中几个易混淆关键词的理解:行为,隐藏,组合和继承,覆写和重载,多形(多态)性,动态绑定,上溯造型,抽象类,接口
- java基础知识点之多态,接口,抽象类
- java 继承 方法重写 自动转型 多态 接口 抽象类
- All About JAVA 继承、多态、抽象类、接口、面向接口编程
- 学习笔记 Java_ch03_多态_抽象类_最终类_ch04_接口 2014.7.26
- Java学习-多态学习续 抽象类和接口
- JAVA基础必备(九)——继承,封装,多态,抽象类,接口
- java 继承 方法重写 自动转型 多态 接口 抽象类
- 黑马程序员_java的继承性- 继承-final关键字-抽象类-接口-多态-异常-包-多线程-
- Java中的多态,抽象类和接口
- 初识JAVA(【面向对象】:pub/fri/pro/pri、封装/继承/多态、接口/抽象类、静态方法和抽象方法;泛型、垃圾回收机制、反射和RTTI)
- Java笔记(八) 多态、抽象类、final关键字和接口
- 黑马程序员-java学习继承之抽象类、多态和接口
- java 从零开始,学习笔记之基础入门<抽象类_接口_多态>(十三)
- NO8.java笔记【面向对象、抽象类、abstract、接口、interface、多态 、内部类、匿名内部类、异常、Object类】
- 黑马程序员——【Java基础】——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类
- 黑马程序员—Java面向对象(抽象类、模板方法设计模式、接口、多态、内部类)
- 学习笔记_毕向东 Java_继承_抽象类_接口_多态 2014.7.13