2019-1-18 继承上机作业

加强版练习电子宠物系统

1、狗类

 1 package com.test;
 2 
 3 public class Dog extends Pet{
 4     
 5     private String type;
 6     
 7     
 8     
 9     public String getType() {
10         return type;
11     }
12     public void setType(String type) {
13         if(type.equals("1")) {
14             this.type = "公仔";
15             return;
16         }
17         this.type = "母仔";
18     }
19     public void print() {
20         super.print();
21         System.out.println("我的性别是:"+getType());
22     }
23     
24 }

 

二、猫类o(=•ェ•=)m

 

 1 package com.test;
 2 
 3 public class Cat extends Pet{
 4     //创建私有类 独特的属性
 5     private String color;
 6     private String sex;
 7 
 8     public String getColor() {
 9         return color;
10     }
11     public void setColor(String color) {
12         if(color.equals("1")) {
13             this.color = "黄色";
14             return;
15         }else if(color.equals("2")){
16             this.color = "黑色";
17             return;
18         }
19         this.color = "白色";
20     }
21     
22     public String getSex() {
23         return sex;
24     }
25 
26     public void setSex(String sex) {
27         if(sex.equals("1")) {
28             this.sex = "公喵";
29             return;
30         }
31         this.sex = "母喵";
32 
33     }
34 
35     public void print() {
36         super.print();
37         System.out.println("我的性别是:"+getSex()+"我是:"+getColor());
38     }
39     
40 }

三、企鹅类

 1 package com.test;
 2 /**
 3  * 电子宠物系统
 4  * @author Mr.kemi
 5  *2019-1-16
 6  */
 7 public class Penguin extends Pet{
 8     
 9     private String sex;
10     
11     public String getSex() {
12         return sex;
13     }
14     public void setSex(String sex) {
15             if(sex.equals("1")) {
16                 this.sex = "Q仔";
17                 return;
18             }
19             this.sex = "Q妹";
20     }
21     
22     public void print() {
23         super.print();
24         System.out.println("我的性别是:"+getSex());
25     }
26 }

 父亲类---具有该种族相同的属性:

 1 package com.test;
 2 //父类
 3 public class Pet {
 4     private int health;
 5     private int love;
 6     private String name;
 7     public int getHealth() {
 8         return health;
 9     }
10     public void setHealth(int health) {
11         if(health>100 || health<0) {
12             System.out.println("亲密度有误,修改默认值");
13             health = 60;
14         }
15         this.health = health;
16     }
17     public int getLove() {
18         return love;
19     }
20     public void setLove(int love) {
21         if(love>100 || love<0) { 
22             System.out.println("亲密度有误,修改默认值");
23             love = 60;
24         }
25         this.love = love;
26     }
27     public String getName() {
28         return name;
29     }
30     public void setName(String name) {
31         this.name = name;
32     }
33     public void print() {
34         System.out.println("宠物的自白");
35         System.out.print("我的名字叫:"+getName()+"健康值是:"+getHealth()+"和主人的亲密度是:"+getLove());
36     }
37 }

主类:

 1 package com.test;
 2 
 3 import java.util.Scanner;
 4 
 5 public class TestPet {
 6     public static void main(String[] args) {
 7         Scanner input = new Scanner(System.in);
 8         //企鹅对象
 9         Penguin pet = new Penguin();
10         //狗对象
11         Dog dog = new Dog();
12         //猫对象
13         Cat cat = new Cat();
14         System.out.println("欢迎来到宠物店");
15         System.out.println("请输入要领养宠物的类型:(1.狗/2.企鹅/3.猫)");
16         int s = input.nextInt();
17         if(s==2) {
18             System.out.println("请输入要领养宠物的名字:");
19             pet.setName(input.next());
20             System.out.println("请选择宠物的性别:(1.Q仔 2.Q妹)");
21             pet.setSex(input.next());
22             System.out.println("请输入宠物的健康值:(1-100之间)");
23             pet.setHealth(input.nextInt());
24             System.out.println("请输入宠物的亲密度:(1-100之间)");
25             pet.setLove(input.nextInt());
26             pet.print();
27         }else if(s==1){
28             System.out.println("请输入要领养宠物的名字:");
29             dog.setName(input.next());
30             System.out.println("请选择宠物的性别:(1.公仔 2.母仔)");
31             dog.setType(input.next());
32             System.out.println("请输入宠物的健康值:(1-100之间)");
33             dog.setHealth(input.nextInt());
34             System.out.println("请输入宠物的亲密度:(1-100之间)");
35             dog.setLove(input.nextInt());
36             dog.print();
37         }else {
38             System.out.println("请输入您要领养的宠物的名字:");
39             cat.setName(input.next());
40             System.out.println("请选择宠物的性别:(1.公喵 2.母喵)");
41             cat.setSex(input.next());
42             System.out.println("请输入领养宠物的颜色:(1.黄色2.黑色3.白色)");
43             cat.setColor(input.next());
44             System.out.println("请输入宠物的健康值:(1-100之间)");
45             cat.setHealth(input.nextInt());
46             System.out.println("请输入宠物的亲密度:(1-100之间)");
47             cat.setLove(input.nextInt());
48             cat.print();
49             
50         }
51         
52         
53     }
54 }

执行结果!👇👇👇

狗👇

 

 

企鹅🐧

🐱猫👇👇

 

 

 

如果对象不创建,则普通代码快不能被执行,当然,普通方法无法调用。
如果对象不创建,静态代码块依然能够被执行。
而且静态方法可直接通过类调用。

说明,普通属性、方法、代码块是对象级别的
静态属性、方法、代码块是类级别的
静态代码快在类一加载就会被执行

 

posted @ 2019-01-18 20:22  kemihaha  阅读(210)  评论(0编辑  收藏  举报