Java继承的实现【实例】
java语言使用extends关键字为新定义的类指定父类,一般语法格式:
[修饰符] class 子类名 entends 父类名{
声明子类中的成员变量;
声明子类中的成员方法;
}
注:Java采用单重继承机制,即一个子类只能通过extends关键字指明一个父类。但想实现多重继承就由‘’接口‘来实现
【实例:设计汽车类和小轿车类,以说明类的继承关系】
【问题分析】
汽车类(Automobile)可包含weight和speed两个私有成员变量以及对应的封装特性,同时包含减速、加速、刹车三个成员方法。
小轿车类(car)由Automobile类派生,添加天窗(skylight)变量和播放音乐方法。
public class text {//设计汽车类和小轿车类说明类的继承关系
public static void main(String[] args) {
Car myCar=new Car();// 调用子类对象
//因为子类car继承父类的特性 注:父类中成员变量由private修饰,所以不能被子类car继承
//通过实例对象myCar调用父类方法
myCar.setSkylight(true);
myCar.setSpeed(60);
myCar.setWeight(1500);
//调用子类方法
myCar.slowDown();
myCar.playMusic();
System.out.println(myCar.getSkylight());
System.out.println(myCar.getSpeed());
System.out.println(myCar.getClass());
}
}
class Automobile{//汽车类
private int weight;//定义质量
private int speed;//定义速度
//封装
void setWeight(int w) {
this.weight=w;
}
void setSpeed(int s) {
this.speed=s;
}
public int getWeight() {
return weight;
}
public int getSpeed() {
return speed;
}
//定义加速、减速、刹车三个成员方法
public void speddUp() {
System.out.println("汽车在加速....");
}
public void slowDown() {
System.out.println("汽车在减速....");
}
public void breke() {
System.out.println("汽车刹车!!!");
}
}
//小轿车类car类继承Automobile类
class Car extends Automobile{
private boolean skylight=false;//定义一个boolean型的天窗
//封装天窗
public void setSkylight(boolean sl) {
this.skylight=sl;
}
public boolean getSkylight() {
return skylight;
}
//音乐
public void playMusic() {
System.out.println("小轿车正在播放音乐中....");
}
}
结果输出为:
汽车在减速....
小轿车正在播放音乐中....
true
60
class java继承.Car