1.案例需求
用继承的方式完成宠物的领养,效果如下:
2.思路
这里的宠物是父类,企鹅和狗狗是子类,定义成员变量的时候分析哪些是狗狗和企鹅共有的变量,可以定位为父类中的变量
3.代码
(1)宠物类(父类)代码部分:
public class Pets {
String petName;
int petType;
}
(2)狗狗类(子类)代码部分:
public class Dogs extends Pets{
int dogBreed;
public void zb(){
System.out.println("宠物的自白:");
System.out.println("名字:" +petName+
"健康值是100,亲密度是0" +
"我是" +
dogBreed);
}
}
(3)企鹅类(子类)代码部分:
public class QQ extends Pets{
int qqSex;
public void zb(){
System.out.println("宠物的自白:");
System.out.println("名字:" +super.petName+
"健康值是100,亲密度是0" +
"我叫" +
qqSex);
}
}
(4)运行代码(测试类):
public class PetTest {
public static void main(String[] args) {
System.out.println("欢迎您来到宠物店!");
System.out.println("请输入要领养宠物的名字");
Scanner scanner=new Scanner(System.in);
Pets gou=new Pets();
gou.petName=scanner.next();
System.out.println("请输入要领养的宠物类型:1、狗狗 2、企鹅");
gou.petType=scanner.nextInt();
if (gou.petType==1){
System.out.println("请选择狗狗的品种:1、聪明的拉布拉多犬 2、酷酷的雪纳瑞");
Dogs gg=new Dogs();
gg.dogBreed=scanner.nextInt();
gg.zb();
}
else if (gou.petType==2){
System.out.println("请选择企鹅的性别:1、Q仔 2、Q妹");
QQ qq=new QQ();
qq.qqSex=scanner.nextInt();
qq.zb();
}
}
}
4.总结
继承:
*格式:public class 子类名 extends 父类名{}
特性:
1.子类拥有父类的所有属性和方法
2. 在 java 中只允许单继承,而不允许多重继承,也就是说一个子类只能有一个父类
3. 但是 java 中却允许多层继承.