public abstract class AA { //创建抽象类AA
abstract void distance(); //创建抽象方法 distance()
public static void main(String[] args) {
// TODO 自动生成的方法存根
Car QQ=new Car(); //创建属于类Car的对象QQ,并设置和现实对象的相关信息
QQ.getInfo("奇瑞",80,1.5f);
QQ.distance();
A G=new A(); //创建属于类A的对象G,并设置和现实对象的相关信息
G.getInfo("G7023",380,1.5f);
G.distance();
}
}
class Car extends AA{ //创建继承于父类AA(抽象类)的子类Car
String type; //定义子类Car的成员变量
float time;
int speed;
float s;
void getInfo(String type,int speed,float s){ //定义子类Car的成员方法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 A extends AA{ //创建继承于父类AA(抽象类)的子类A
String number; //定义子类A的成员变量
float time;
int speed;
float s;
void getInfo(String number,int speed,float time){ //定义子类A的成员方法getInfo(),获取汽车的相关信息
this.number=number;
this.time=time;
this.speed=speed;
}
void distance(){ //修改(覆盖)抽象方法distance(),计算行程
s=speed*time;
System.out.println("火车的车次:"+number);
System.out.println("火车的以时速"+speed+"千米/小时行驶了"+time+"小时/行驶的路程:"+s+"千米");
}
}
结果为:
知识要点分析:
1.抽象类:
在java中用关键字abstract修饰抽象类。
抽象类是对实体的抽象描述,它不可以被实例化,即不能有实例化对象。
2.抽象方法:
在java中用关键字abstract修饰的方法称为抽象方法。
3.多态性:
多态性是面向对象程序设计的重要特征之一,它是由继承而产生的结果,因此继承是多态的前提。