测试类:
1 /* 2 * 宠物测试类 3 * 4 */ 5 package com.pets; 6 7 import java.util.Scanner; 8 9 public class TestPets { 10 public static void main(String[] args) { 11 Scanner input = new Scanner(System.in); 12 System.out.println("欢迎来到宠物店"); 13 System.out.println("请选择要领养的宠物:1.狗狗/2.猫/3.企鹅"); 14 int choose = input.nextInt(); 15 switch (choose) { 16 case 1: 17 Dog d = new Dog(); 18 System.out.println("请输入狗狗的姓名:"); 19 d.setName(input.next()); 20 System.out.println("请选择狗狗的品种:1.哈士奇/2.田园犬"); 21 d.setStain(input.next()); 22 System.out.println("请输入狗狗的健康值:"); 23 d.setHeath(input.nextInt()); 24 System.out.println("请输入狗狗的亲密度:"); 25 d.setLove(input.nextInt()); 26 d.print(); 27 break; 28 case 2: 29 Mao m = new Mao(); 30 System.out.println("请输入猫的姓名:"); 31 m.setName(input.next()); 32 System.out.println("请选择猫的色泽:1.黑色/2.白色/3.蓝色"); 33 m.setColor(input.next()); 34 System.out.println("请输入猫的健康值:"); 35 m.setHeath(input.nextInt()); 36 System.out.println("请输入猫的亲密度:"); 37 m.setLove(input.nextInt()); 38 m.print(); 39 break; 40 case 3: 41 Penguin p = new Penguin(); 42 System.out.println("请输入企鹅的姓名:"); 43 p.setName(input.next()); 44 System.out.println("请输入企鹅的雌雄:1.Q仔/2.Q妹"); 45 p.setSex(input.next()); 46 System.out.println("请输入企鹅的健康值:"); 47 p.setHeath(input.nextInt()); 48 System.out.println("请输入企鹅的亲密度:"); 49 p.setLove(input.nextInt()); 50 p.print(); 51 break; 52 default: 53 break; 54 } 55 } 56 }
父类:
1 /* 2 * 宠物父类 3 */ 4 package com.pets; 5 6 public class Pets { 7 //共有的属性 8 private String name; 9 private int heath; 10 private int love; 11 public String getName() { 12 return name; 13 } 14 public void setName(String name) { 15 this.name = name; 16 } 17 public int getHeath() { 18 return heath; 19 } 20 //set方法中对传递的参数进行判断,不满足条件的改为默认值 21 public void setHeath(int heath) { 22 if(heath<0||heath>100) { 23 heath = 60; 24 System.out.println("您输入的健康值错误!默认值为:60"); 25 } 26 this.heath = heath; 27 } 28 public int getLove() { 29 return love; 30 } 31 public void setLove(int love) { 32 if(love<0||love>100) { 33 love = 60; 34 System.out.println("您输入的健康值错误!默认值为:60"); 35 } 36 this.love = love; 37 } 38 public void print() { 39 System.out.println("宠物自白:"); 40 System.out.println("姓名:"+this.getName()+",健康值:"+this.getHeath()+",亲密度:"+this.getLove()); 41 } 42 43 44 }
子类狗类:
1 /* 2 * 子类--------狗类 3 */ 4 package com.pets; 5 6 public class Dog extends Pets{ 7 private String stain; 8 9 public String getStain() { 10 return stain; 11 } 12 //独有的品种属性 13 public void setStain(String stain) { 14 if(stain.equals("1")) { 15 stain = "二哈"; 16 }else { 17 stain = "中华田园犬"; 18 } 19 this.stain = stain; 20 } 21 public void print() { 22 super.print(); 23 System.out.println("狗狗的品种:"+this.getStain()); 24 } 25 }
子类猫类:
1 /* 2 * 子类--------猫类 3 */ 4 package com.pets; 5 6 public class Mao extends Pets{ 7 private String color; 8 9 public String getColor() { 10 return color; 11 } 12 //独有的色泽属性 13 public void setColor(String color) { 14 if(color.equals("1")) { 15 color = "黑色"; 16 }else if(color.equals("2")) { 17 color = "白色"; 18 }else { 19 color = "蓝色"; 20 } 21 this.color = color; 22 } 23 public void print() { 24 super.print(); 25 System.out.println("猫的色泽是:"+this.getColor()); 26 } 27 }
子类企鹅类:
1 /* 2 * 子类----企鹅类 3 */ 4 package com.pets; 5 6 public class Penguin extends Pets{ 7 private String sex; 8 9 public String getSex() { 10 return sex; 11 } 12 //独有的性别属性 13 public void setSex(String sex) { 14 if(sex.equals("1")){ 15 sex = "Q仔"; 16 }else { 17 sex = "Q妹"; 18 } 19 this.sex = sex; 20 } 21 public void print() { 22 super.print(); 23 System.out.println("企鹅的性别是:"+this.getSex()); 24 } 25 }
输出结果:
封装第一步:私有化
第二步:创建属性方法set-get方法(快捷键)
第三步:在set方法中,设置条件语句