Java:创建抽象类Transport
来源:互联网 发布:js自动中跳转页面 编辑:程序博客网 时间:2024/04/28 03:52
public abstract class Transport { //创建类Transport
abstract void distance(); //创建抽象方法distance()
public static void main(String[] args) {
// TODO 自动生成的方法存根
Car QQ=new Car(); //创建属于类car的对象QQ,并设置和显示对象的相关信息
QQ.getInfo(“奇瑞”,80,1.5f);
QQ.distance();
Train G=new Train(); //创建属于类Train的对象G,并设置和显示对象的相关信息
G.getInfo(“G7023”,380,1.5f);
G.distance();
}
}
class Car extends Transport{ //创建父类Transport(抽象类)的子类Car
String type; //定义成员变量
float time;
int speed;
float s;
void getInfo(String type,int speed,float time){ //定义成员方法getInfo(),获得相关信息
this.type=type;
this.time=time;
this.speed=speed;
}
void distance(){ //修改(覆盖)抽象方法distance(),计算行程
s=speed*time;
System.out.println(“汽车型号”+type);
System.out.println(“汽车以时速”+speed+”千米/小时行驶了”+time+”小时,行驶路程:”+s+”千米”);
}
}
class Train extends Transport{ //创建父类Transport(抽象类)的子类Train
String number; //定义成员变量
float time;
int speed;
float s;
void getInfo(String number,int speed,float time){ //定义成员方法getInfo(),获得相关信息
this.number=number;
this.time=time;
this.speed=speed;
}
void distance() { //修改(覆盖)抽象方法distance(),计算行程
s=speed;
System.out.println(“火车的次数:”+number);
System.out.println(“火车的以时速”+speed+”千米/小时行驶了”+time+”小时,行驶路程:”+s+”千米”);
}
}
运行结果:
程序分析:
定义了交通工具Transport抽象类,在该抽象中定义抽象方法distance()。同时创建汽车类Car和火车类Train,它们都继承于抽象类Transport。在子类car和train中,通过方法重写的方式,重写抽象方法distance(),分别计算汽车和火车的行程。
知识点:
1)抽象类
格式:abstractclass 抽象类名{
类体
}
2)抽象方法
格式:abstract 返回值类型 方法名 ( [ 形式参数 ]);
3)多态性
(1)编译多态
(2)运行多态
注意:
(1)抽象类不一定有抽象方法,但有抽象方法的类一定是抽象类
(2)与抽象类相似,final关键字不能修饰抽象方法,因为final是最终方法,用final修饰的方法不能被修改,而抽象方法没有方法体,它必须通过继承和重写方法的方式修改方法体
(3)与抽象类相似,static关键词也不能修饰抽象方法,因为静态方法必须占据固定的内存,而抽象方法是不能被加载到内存中的(抽象方法无法运行),即它无法占据固定内存
- Java:创建抽象类Transport
- 创建抽象类Transport
- 创建抽象类 Transport
- 创建抽象类Transport
- 创建抽象类Transport
- JAVA创建抽象类
- java抽象类的创建
- Java抽象类不能创建对象
- elasticsearch java api 创建客户端连接(Transport Client)
- elasticsearch5.2.2使用java API创建transport client
- 创建抽象类AA
- 创建抽象类Tr
- 创建抽象类
- java 抽象类,抽象方法
- java 抽象类,抽象方法
- java抽象函数,抽象类
- Java抽象类抽象方法
- java--抽象类、抽象方法
- 各种音视频编解码学习详解
- MySQL 第一篇:数据类型和操作数据库结构
- spring boot使用 aop 处理方法的执行顺序
- 用Base64Util加密工具的时候不能导包 sun.misc.BASE64Encoder 的jar包问题
- [补集转化 DP] ZROI 2017提高7 强军战歌
- Java:创建抽象类Transport
- [ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on pr
- Cross the Wall UVALive
- Java设计模式之工厂方法模式
- 线程、多线程与线程池总结
- 【NOIP2017提高A组集训10.22】公交运输
- 【1701H1】【穆晨】【171025】连续第十五天总结
- 【JZOJ5413】【NOIP2017提高A组集训10.22】清兰
- 【转】https单双向认证