文档章节

继承与多态

王明波
 王明波
发布于 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
Android基础之Java多态、继承、重载和重写的区别

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

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

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

晨曦之光
2012/03/09
175
0
剖析C#的多态

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

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

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

达叔小生
08/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

http协议请求头的意义

GET /day31_Http_306/index.jsp HTTP/1.1: GET请求,请求服务器路径为/hello/index.jsp,协议为1.1 请求头 1.Host:localhost:请求的主机名为localhost2.User-Agent:Mozilla/5.0(Windows NT......

潇潇程序缘
27分钟前
4
0
Netty 简单服务器 (三)

经过对Netty的基础认识,设计模型的初步了解,来写个测试,试试手感 上篇也说到官方推荐我们使用主从线程池模型,那就选择这个模型进行操作 需要操作的步骤: 需要构建两个主从线程组 写一个服务器...

_大侠__
38分钟前
7
0
day02:管道符、shell及环境变量

1、管道符:"|" 用于将前一个指令的输出作为后一个指令的输入,且管道符后面跟的是命令(针对文档的操作):cat less head tail grep cut sort wc uniq tee tr split sed awk等) [root@localho...

芬野de博客
48分钟前
11
0
Kubernetes系列——Kubernetes 组件、对象(二)

一、Kubernetes 组件 介绍了Kubernetes集群所需的各种二进制组件。 Master 组件 Master组件提供集群的管理控制中心。Master组件可以在集群中任何节点上运行。但是为了简单起见,通常在一...

吴伟祥
58分钟前
16
0
Flink-数据流编程模型

1、抽象等级 Flink提供了不同级别的抽象来开发流/批处理应用程序。 1) 低层级的抽象 最低层次的抽象仅仅提供有状态流。它通过Process函数嵌入到DataStream API中。它允许用户自由地处理来自一...

liwei2000
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部