一、需求:
請採用繼承的思想實現貓和狗的案例,並在測試類中進行測試。
思路描述:
①定義動物類(Animal)
成員變量:姓名,年齡
構造方法:無參,帶參
成員方法:get/set方法
②定義貓類(Cat),繼承動物類
構造方法:無參,帶參
成員方法:抓老鼠
③定義狗類(Dog),繼承動物類
構造方法:無參,帶參
成員方法:看門
④定義測試類(AnimalDemo),寫代碼測試
二、代碼實現:
1、文件結構:
2、Animal.java
package com.itheima_11;
public class Animal {
private String name;
private int age;
public Animal() {
}
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
3、Cat.java
package com.itheima_11;
public class Cat extends Animal{
public Cat() {
}
public Cat(String name, int age) {
super(name, age);
}
public void catchMouse(){
System.out.println("貓抓老鼠");
}
}
4、Dog.java
package com.itheima_11;
public class Dog extends Animal{
public Dog() {
}
public Dog(String name, int age) {
super(name, age);
}
public void lookDoor(){
System.out.println("狗看門");
}
}
2、AnimalDemo.java
package com.itheima_11;
public class AnimalDemo {
public static void main(String[] args) {
//創建貓類對象並進行測試
Cat c1 = new Cat();
c1.setName("加菲貓");
c1.setAge(11);
System.out.println(c1.getName()+","+c1.getAge());
c1.catchMouse();
Cat c2 = new Cat("加菲貓",11);
System.out.println(c2.getName()+","+c2.getAge());
c2.catchMouse();
Dog d1 = new Dog();
d1.setName("噹噹狗");
d1.setAge(5);
System.out.println(d1.getName()+","+d1.getAge());
d1.lookDoor();
Dog d2 = new Dog("噹噹狗",5);
System.out.println(d2.getName()+","+d2.getAge());
d2.lookDoor();
}
}
備註:
(1)快速生成構造方法快捷鍵,Alt+Insert
(2)Java中類只支持單繼承,不支持多繼承。
(3)Java中類支持多層繼承。