java基础入门-父类引用子类对象(2)-抽象类
2015-08-24 00:00
525 查看
抽象类:具有抽象方法的类,需要使用abstract关键字修饰
关系图
下面上代码
输出:
i am a man
i am a beatiful woman
其实这里主要说明的就是Test里面for循环里面,每一个Person的类,指向子类的实现类
然后子类实现父类的抽象方法,只需要父类引用子类对象,即可以通过调用相同的方法,然后输出不同的东西
在这里需要特别说明一下,抽象类是不可以实例化的
版权声明:本文为博主原创文章,未经博主允许不得转载。
关系图
下面上代码
package com.ray.testobject; /** * 抽象类 * * @author ray * @since 2015-05-02 * @version 1.0 * */ public abstract class Person { public abstract void getDescription(); }
package com.ray.testobject; /** * 实现类 * * @author ray * @since 2015-05-02 * @version 1.0 * */ public class Man extends Person { @Override public void getDescription() { System.out.println("i am a man"); } }
package com.ray.testobject; /** * 继续抽象一个类 * * @author ray * @since 2015-05-02 * @version 1.0 * */ public abstract class Woman extends Person { public abstract void getDescription(); }
package com.ray.testobject; /** * 实现类 * * @author ray * @since 2015-05-02 * @version 1.0 * */ public class BeatifulWoman extends Woman { @Override public void getDescription() { System.out.println("i am a beatiful woman"); } }
package com.ray.testobject; /** * 测试类 * * @author ray * @since 2015-05-02 * @version 1.0 */ public class Test { public static void main(String[] args) { Person man = new Man(); Person beatifulWoman = new BeatifulWoman(); Person[] persons = new Person[2]; persons[0] = man; persons[1] = beatifulWoman; for (int i = 0; i < persons.length; i++) { persons[i].getDescription(); } } }
输出:
i am a man
i am a beatiful woman
其实这里主要说明的就是Test里面for循环里面,每一个Person的类,指向子类的实现类
然后子类实现父类的抽象方法,只需要父类引用子类对象,即可以通过调用相同的方法,然后输出不同的东西
在这里需要特别说明一下,抽象类是不可以实例化的
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统