【学习笔记】抽象类
来源:互联网 发布:且夫知不知 编辑:程序博客网 时间:2024/06/05 03:38
package com.shine;
public class Entry {
public static void main(String[] args) {
Entry mEntry = new Entry();//创建一个Entry对象
Keji mKeji = new Keji(); //创建一个Keji对象
ZhiFj mZhiFj = new ZhiFj();//创建一个ZhiFj对象
// Feiji mFeiji = mKeji;
mEntry.letFly(mKeji);//引用成员方法letFly
mEntry.letFly(mZhiFj);//引用成员方法letFly
}
// public void letFly(Keji mKeji) {//定义成员方法
// mKeji.fly();
// }
//
// public void letFly(ZhiFj mZhiFj) {//定义成员方法
// mZhiFj.fly();
// }
public void letFly(Feiji mFeiji) {//定义成员方法
mFeiji.fly(); //引用Feiji成员方法
//instanceof使用格式:<对象> instanceof <类>
//判断左边的对象是否是右边类(或者子类)的实例。返回 boolean类型数据。
if(mFeiji instanceof ZhiFj) {
ZhiFj mZhiShengFeiJi= (ZhiFj)mFeiji;
mZhiShengFeiJi.addOil();
} else if(mFeiji instanceof Keji) {
Keji mKeJi = (Keji)mFeiji;
mKeJi.addOil();
}
}
}
abstract class Feiji { //创建一个抽象类
int weight;
public abstract void fly();//抽象方法,只有声明没有实现(没有花括号)
} //此时无法new Feiji
class Keji extends Feiji { //继承抽象类,“Keji”报错,点击快速修改,自动添加实现抽象方法
@Override
public void fly() {//实现抽象方法
// TODO Auto-generated method stub
System.out.println("fly after run");
}
public void addOil() {//Keiji特有的方法
System.out.println("Keji 加油");
}
}
class ZhiFj extends Feiji {
public void fly() {
System.out.println("upward");
}
public void addOil() {
System.out.println("ZhiFj 加油");
}
}
public class Entry {
public static void main(String[] args) {
Entry mEntry = new Entry();//创建一个Entry对象
Keji mKeji = new Keji(); //创建一个Keji对象
ZhiFj mZhiFj = new ZhiFj();//创建一个ZhiFj对象
// Feiji mFeiji = mKeji;
mEntry.letFly(mKeji);//引用成员方法letFly
mEntry.letFly(mZhiFj);//引用成员方法letFly
}
// public void letFly(Keji mKeji) {//定义成员方法
// mKeji.fly();
// }
//
// public void letFly(ZhiFj mZhiFj) {//定义成员方法
// mZhiFj.fly();
// }
public void letFly(Feiji mFeiji) {//定义成员方法
mFeiji.fly(); //引用Feiji成员方法
//instanceof使用格式:<对象> instanceof <类>
//判断左边的对象是否是右边类(或者子类)的实例。返回 boolean类型数据。
if(mFeiji instanceof ZhiFj) {
ZhiFj mZhiShengFeiJi= (ZhiFj)mFeiji;
mZhiShengFeiJi.addOil();
} else if(mFeiji instanceof Keji) {
Keji mKeJi = (Keji)mFeiji;
mKeJi.addOil();
}
}
}
abstract class Feiji { //创建一个抽象类
int weight;
public abstract void fly();//抽象方法,只有声明没有实现(没有花括号)
} //此时无法new Feiji
class Keji extends Feiji { //继承抽象类,“Keji”报错,点击快速修改,自动添加实现抽象方法
@Override
public void fly() {//实现抽象方法
// TODO Auto-generated method stub
System.out.println("fly after run");
}
public void addOil() {//Keiji特有的方法
System.out.println("Keji 加油");
}
}
class ZhiFj extends Feiji {
public void fly() {
System.out.println("upward");
}
public void addOil() {
System.out.println("ZhiFj 加油");
}
}
0 0
- 抽象类学习笔记
- 【学习笔记】抽象类
- 抽象类的学习笔记
- j2se学习笔记-抽象类
- JAVA学习笔记--抽象类
- Java学习笔记-抽象类
- java学习笔记7--抽象类与抽象方法
- 【Java学习笔记】接口 抽象类 抽象方法
- C#回顾学习笔记三十一:抽象类与抽象方法
- 抽象,派生类的学习笔记
- Java学习笔记(抽象类)
- 类和抽象数据(学习笔记)
- Java学习笔记——抽象类
- java学习笔记<九>抽象类
- java抽象类和接口(学习笔记)
- Java接口与抽象类学习笔记
- [学习笔记]Java抽象类和接口
- Java学习笔记之抽象类
- cpufreq之ondemand governer的实现
- Android 图片的读取与写入
- Xilinx Virtex6 GTX Transceiver设计总结
- UVA 562 Dividing coins (01背包)
- [HDU 4609] 3-idiots (计数+FFT优化卷积)
- 【学习笔记】抽象类
- 视频播放功能模块
- 大整数-综述-加法
- UIView中的各种坐标转换convertPoint:toView OR convertPoint:fromView
- HTML5基础篇之html(二)
- linux qcom LCD framwork
- 如何由RGB计算HSV空间的色相值
- Android——数据存储(四种方式之二)读写SD卡
- CSS包含块(Containing Block)