Java第二课——多态继承
来源:互联网 发布:非同凡想网络 编辑:程序博客网 时间:2024/06/04 00:31
Java里的多态和重载与C++里的基本一致。 多态指的是子类可以对父类的方法进行重写,在程序运行时,根据具体的情况(引用对象具体的类型)来选择调用相应的方法。
《HeadFirst ——Java》中的一个练习题,很好的体现多态的关系。
<span style="font-size:18px;">package exercise;class A {int var = 6;void m1() {System.out.print("A'm1, ");}void m2() {System.out.print("A'm2, ");}void m3() {System.out.print("A'm3, ");}}class B extends A {int var = 7; //void m2() {System.out.print("B'm2, ");}}class C extends B {int var = 8;void m3() {System.out.print("C'm3, ");System.out.print(var+7);}}class PolymorphicTest {public static void main(String arg[]) {A a = new A ();B b = new B();C c = new C();A a2 = new C();//C c2 = new B();//wrongB b2 = new B();A a3 = new B();a.m1();a.m2();a.m3();//putout:A'm1, A'm2, A'm3,b.m1();b.m2();b.m3();//putout:A'm1, B'm2, A'm3,c.m1();c.m2();c.m3();//putout:A'm1, B'm2, C'm3, 15a2.m1();a2.m2();a2.m3();//putout:A'm1, B'm2, C'm3, 15a3.m1();a3.m2();a3.m3();//A'm1, B'm2, A'm3, b2.m1();b2.m2();b2.m3();// A'm1, B'm2, A'm3, System.out.println("------"); // A[] array_a = new A();//wrong, array just for primary data ArrayList<A> array_a = new ArrayList<A>(); array_a.add(a); array_a.add(b); array_a.add(c); for(A test:array_a) { test.m1(); test.m2(); test.m3(); } //A'm1, A'm2, A'm3, A'm1, B'm2, A'm3, A'm1, B'm2, C'm3, 15 } }</span>
0 0
- Java第二课——多态继承
- C#面向对象(OOP)入门—第二天—多态和继承(继承)
- java桌面 第二章继承和多态
- 新一篇: java桌面 第二章继承和多态
- java桌面 第二章继承和多态
- 第二章——继承
- JAVA第二特性----继承
- 第十一课 面向对象第二大特性——继承
- 《Java 程序设计》— 继承与多态
- JAVA OOP 第二章继承
- 第二大特性——继承性
- 第二章——继承(2)
- java继承多态
- Java——继承
- java——继承
- java——继承
- <java——继承>
- JAVA——继承
- IOS 网络开发NSURLSession(四)UploadTask(上传数据+图片)
- Storage Options
- JAVA进程类中,sleep,wait,join,yield有何差别?并说明进城有哪几种状态
- Qt 5 设置窗体无边框且在任务栏能够看到图标
- redis 数据类型详解 以及 redis适用场景场合
- Java第二课——多态继承
- 磁盘中的文件文件要怎么恢复
- 阿里2014校招笔试题
- 通过SparkR在R上运行Spark
- socket阻塞与非阻塞,异步与同步
- Spring源代码解析【转】【收藏】
- signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr
- apt-get install安装软件问题(安装包的依赖库版本过高问题)
- 4. PHP之活动记录