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 }
执行结果!👇👇👇
狗👇
企鹅🐧
🐱猫👇👇
如果对象不创建,则普通代码快不能被执行,当然,普通方法无法调用。
如果对象不创建,静态代码块依然能够被执行。
而且静态方法可直接通过类调用。
说明,普通属性、方法、代码块是对象级别的
静态属性、方法、代码块是类级别的
静态代码快在类一加载就会被执行