下面由我来介绍一下父类与子类继承问题
先看一个案例
问题导入
对问题分析可知,在本例中,我们需要先搞清楚父类与子类的属性和方法,这样对与问题的理解更为透彻,我们都知道定义类的方式
定义类的格式:
类名{
属性
方法
}
由题意知,父类当中的属性为机动车的品牌,颜色,车轮数量,座椅数量;而父类的方法有无参构造方法,双参构造【车的品牌和颜色】,四参构造【车的品牌、颜色、轮胎数、座椅数】,还有一个无参的只读方法。
下面是父类的代码演示:
public class Car {
String carname;//机动车品牌
String carcolor;//机动车颜色
int tyre;//机动车轮胎
int seat;//机动车座椅数
public Car()//无参构造
{}
public Car(String carname, String carcolor)
//双参构造品牌和颜色
{
super();
this.carname = carname;
this.carcolor = carcolor;
}
public Car(String carname, String carcolor, int tyre, int seat)
//四参构造方法
{
this.carname = carname;
this.carcolor = carcolor;
this.tyre = tyre;
this.seat = seat;
}
void carspeak()
//打印输出
{
System.out.println("父类信息测试:这是一辆"+carcolor+"颜色的,"+carname+"牌的非机动车,有"+tyre+"个轮子,有"+seat+"个座椅的非机动车。");
}
}
分析完父类,下面我们分析三个子类的属性和方法:
首先,对于自行车类,由题意可知,自行车类的方法里面需要机动车的品牌与颜色,以及重写的打印方法,自行车可以直接继承父类的属性,故自行车类的代码为:
public class Bike extends Car//定义bike自行车类
{
public Bike(String carname,String carcolor) {
this.carname=carname;
this.carcolor=carcolor;
}
void carspeak() {
System.out.println("自行车类信息测试:这是一辆"+carcolor+"颜色的,"+carname+"牌的自行车");
}
}
其次,对于电动车类来说,电动车类需要继承父类机动车类的品牌以及重写的打印方法,
下面是电动车类的代码展示:
public class Electrocar extends Car
//定义电动车类
{
public Electrocar(String carname) {
this.carname=carname;
}
void carspeak()
{
System.out.println("电动车类信息测试:这是一辆使用"+carname+"牌电池的电动车。");
}
}
最后是对三轮车类的分析,对于三轮车类来说,它继承的是父类的轮胎数量属性,以及重写的打印方法,下面是对三轮车类的代码展示:
public class Tricycle extends Car
//定义三轮车类
{
public Tricycle(int tyre) {
this.tyre=tyre;
}
void carspeak() {
System.out.println("三轮车类信息测试:三轮车是一款有"+tyre+"个轮子的非机动车");
}
}
写完所有的父类与子类代码,我们需要验证自己写的代码是否正确,我们此时定义一个测试类来验证一下,下面是测试类的代码展示:
public class TestCar {
public static void main(String[] args) {
Car c0=new Car("红","天宇",4,2);
c0.carspeak();
Bike c1=new Bike("黄","捷安特");
c1.carspeak();
Electrocar c2=new Electrocar("飞鸽");
c2.carspeak();
Tricycle c3=new Tricycle(3);
c3.carspeak();
}
}
此时在eclipse当中就可以看到代码执行的效果了
此时可知我们的程序编写是正确的。
总结:
1、在子类继承父类时,我们对于子类的格式为:
子类类名 extends 父类类名{}
2、这里小编给小伙伴们一个在eclipse当中的快捷键
按住alt+shift+s+o就可以在eclipse当中直接写出带参的构造方法了
3、希望小编的案例可以帮到你。