文档章节

继承与多态

王明波
 王明波
发布于 2015/10/15 15:49
字数 254
阅读 4
收藏 0

1

/**
 * @File ClassA.java
 * @date 2015年10月15日 下午2:40:42
 */

 /**
 * @data 2015年10月15日 下午2:40:42
 */
class ClassA {
 public String show( ClassD obj)
 {
  System.out.print("ClassA. ");
  return ("AD");
 }
 public String show(ClassA obj){
  System.out.print("ClassA. ");
  return "AA";
 }
}
class ClassB extends ClassA{
 public String show( ClassB obj)
 {
  System.out.print("ClassB. ");
  return ("BB");
 }
 public String show(ClassA obj){
  System.out.print("ClassB. ");
  return "BA";
 }
}
class ClassC extends ClassA{};
class ClassD extends ClassB{};

2

/**
 * @File Polymorphism.java
 * @date 2015年10月15日 下午2:48:16
 */

public class Polymorphism {
 public static void main(String[] args)
 {
  // TODO Auto-generated method stub
  ClassA aa = new ClassA();
  ClassA ab = new ClassB();
  ClassB bb = new ClassB();
//  ClassB ba = new ClassA(); //error
  ClassC cc = new ClassC();
  ClassD dd = new ClassD();
  System.out.println("aa.show(aa): "+aa.show(aa));
  System.out.println("aa.show(bb): "+aa.show(bb));
  System.out.println("aa.show(cc): "+aa.show(cc));
  System.out.println("aa.show(dd): "+aa.show(dd));
  System.out.println();
  System.out.println("ab.show(aa): "+ab.show(aa));
  System.out.println("ab.show(bb): "+ab.show(bb));
  System.out.println("ab.show(cc): "+ab.show(cc));
  System.out.println("ab.show(dd): "+ab.show(dd));
  System.out.println();
  System.out.println("bb.show(aa): "+bb.show(aa));
  System.out.println("bb.show(bb): "+bb.show(bb));
  System.out.println("bb.show(cc): "+bb.show(cc));
  System.out.println("bb.show(dd): "+bb.show(dd));
 }
}

 

3结果

ClassA. aa.show(aa): AA
ClassA. aa.show(bb): AA
ClassA. aa.show(cc): AA
ClassA. aa.show(dd): AD

ClassB. ab.show(aa): BA
ClassB. ab.show(bb): BA
ClassB. ab.show(cc): BA
ClassA. ab.show(dd): AD

ClassB. bb.show(aa): BA
ClassB. bb.show(bb): BB
ClassB. bb.show(cc): BA
ClassA. bb.show(dd): AD

 

 

© 著作权归作者所有

共有 人打赏支持
王明波
粉丝 1
博文 19
码字总数 15116
作品 0
厦门
程序员
C#.net技术内幕05-面向对象概念

继承: 类可以从基类继承得到所有的操作、属性、特性、事件以及这些内容的实现方法。但不能继承实例构造函数、析构函数和静态构造函数,也不能继承那些显示拒绝访问的成员。 继承扩展了基类,...

技术小胖子
2017/11/09
0
0
剖析C#的多态

一、什么是多态 面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。可以把一组对象放到一个数组中,然后调用它们的方法,在这种...

晨曦之光
2012/03/09
61
0
第32节:Java中-构造函数,静态方法,继承,封装,多态,包

构造函数实例 测试类 静态方法 静态修饰的调用方式:1)类名.方法名;2)对象.方法名 继承 案例 在现实世界当中,继承就是儿子得到老子的东西,在面向对象的世界当中,继承就是一个类得到了另...

达叔小生
08/21
0
0
Android基础之Java多态、继承、重载和重写的区别

一、继承(inheritance) 1.1 继承是什么 简而言之,继承就是在现有类的基础上,增加新的方法或者重写基类的方法的一种方式。 继承还是面向对象语言的基本特征【继承、多态和封装】之一。 在J...

silencezwm
2017/11/12
0
0
深入剖析C#的多态

作者:天雨 一、什么是多态 面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。可以把一组对象放到一个数组中,然后调用它们的方...

晨曦之光
2012/03/09
172
0

没有更多内容

加载失败,请刷新页面

加载更多

【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
29分钟前
0
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
51分钟前
1
0
vm GC 日志 配置及查看

-XX:+PrintGCDetails 打印 gc 日志 -XX:+PrintTenuringDistribution 监控晋升分布 -XX:+PrintGCTimeStamps 包含时间戳 -XX:+printGCDateStamps 包含时间 -Xloggc:<filename> 可以将数据保存为......

Canaan_
昨天
0
0
学习设计模式——生成器模式

1. 认识生成器模式 1. 定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 2. 组成: Builder:生成器接口,定义创建一个Product对象所需要的各个组件的操作,...

江左煤郎
昨天
0
0
C语言精要(第二章:基本数据类型)

2.1 C语言基本数据类型 在计算机术语中,把⼆进制数中的某⼀位数又称为⼀个⽐特(bit)。⽐特这个单位对于计算机⽽⾔,在度量上是最⼩的单位。除了⽐特之外,还有字节(byte)这个术语。⼀个...

ryanliue
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部