關(guān)于繼承抽象和接口的問題
1. 創(chuàng)建項(xiàng)目:InterfaceProject;
2. 創(chuàng)建Animal類,該類是抽象類:
·聲明一個受保護(hù)的整數(shù)實(shí)例變量legs,記錄動物的腿的數(shù)目;
·定義一個受保護(hù)的構(gòu)造方法來初始化legs實(shí)例變量;
·聲明抽象方法eat;
·聲明具體方法walk來顯示與動物行走方式有關(guān)的信息(包括腿的數(shù)目);
3. 創(chuàng)建Pet接口:聲明三個抽象方法:
? public String getName();
? public void setName(String n);
? public void play();
4. 創(chuàng)建Spider類:
·Spider類擴(kuò)展了Animal類;
·定義一個無參數(shù)構(gòu)造方法,調(diào)用父類構(gòu)造方法來指明所有蜘蛛都有八條腿;
·實(shí)現(xiàn)eat方法;
5. 創(chuàng)建Cat類:
·聲明String實(shí)例變量來存儲寵物的名字;
·定義一個構(gòu)造方法,使用String參數(shù)來指定貓的名字;該構(gòu)造方法必須調(diào)用父類構(gòu)造方法來指明所有貓都有四條腿;
0
·實(shí)現(xiàn)Pet接口方法;
·實(shí)現(xiàn)eat方法;
6. 創(chuàng)建Fish類:
·聲明String實(shí)例變量來存儲寵物的名字;
·定義一個無參數(shù)的構(gòu)造方法,該構(gòu)造方法調(diào)用父類構(gòu)造方法來指明魚沒有腿;
·實(shí)現(xiàn)Pet接口方法;
·覆蓋walk方法,該方法調(diào)用所有的超級方法,并打印輸出一條說明魚不會行走的消息;
·實(shí)現(xiàn)eat方法;
7. 創(chuàng)建TestAnimal類:
·該類有程序入口main()函數(shù);
·創(chuàng)建并操作前面所創(chuàng)建的類的實(shí)例;
·調(diào)用每個對象中的方法;
·對象類型轉(zhuǎn)換;
·使用多態(tài)特性;
·使用super關(guān)鍵字調(diào)用父類方法。
2022-03-27
謝謝啦~nbsp;我也發(fā)現(xiàn)了
2017-03-19
public abstract class Animal {
protected ? int legs;
protected Animal(int legs) {
this.legs = legs;
}
public abstract void eat();
public void walk() {
System.out.println("walk");
}
}
public class Spider extends Animal {
public Spider(int legs) {
super(legs);
}
public void eat() {
System.out.println("Spider is eating");
}
}
public class Cat extends Animal implements Pet{
String name;
public Cat(String name, int legs) {
super(legs);
this.name = name;
}
public void eat() {
}
public Cat() {
this("cat", 4);
}
?public String getName(){
?return name;
?}
?public void setName(String name){
?this.name=name;
?}
?public void play(){
?
?}
}
public interface Pet {
?public String getName();
?public void setName(String name);
?public void play();
}
public class Fish extends Animal implements Pet{
String name;
public Fish(){
super(legs);
}
public void walk(){
System.out.println("Fish can't walk!");
}
public void eat(){
}
public String getName(){
?return name;
}
public void setName(String name){
?this.name=name;
}
public void play(){
?
}
}
public class TestAnimal {
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal a=new Spider(8);
a.eat();
? Animal b=new Cat("wal",4);
}
? b.eat();
}
2017-03-19
代碼如下 有錯誤 做到一半也有錯的