❶ java繼承多態的練習題
Java繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的數據或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。
java多態存在的三個必要條件:
1.需要有繼承關系的存在
2.需要有方法的重寫
3.需要有父類的引用指向子類對象
希望對你有幫助。
第一題應該選D,第二題選C,D。
第一題屬於多態,methodB()方法屬於子類,父類沒有重寫子類的方法
第二題屬於繼承,子類可以繼承父類的方法
❷ 一個關於java 的多態題目怎麼編程
你好!很高興為你解答。
借鑒了樓上,認為樓上講得不夠體現,雖然核心代碼編了出來了,但沒能講到多態的點子上。我稍作修改,樓主請看:
運行結果:
********************
汽車在行駛
摩托車在行駛
自行車在行駛
************代碼如下*************
package TestPolymorphism;
/**
*
* @author 葉科良,568145421
*/
public class TestPolymorphism {
public static void main(String[] args) {
TravelTool travelTool = new Car();
travelTool.run();//一樣的語句,不一樣的功能,改動處則少
travelTool = new Moto();
travelTool.run();//一樣的語句,不一樣的功能,改動處則少
travelTool = new Bike();
travelTool.run();//一樣的語句,不一樣的功能,改動處則少
}
}
abstract class TravelTool {
abstract void run() ; //行駛
abstract void stop(); //剎車
}
class Car extends TravelTool {
void run() {
System.out.println("汽車在行駛");
}
void stop() {
System.out.println("汽車在剎車");
}
}
class Moto extends TravelTool {
void run() {
System.out.println("摩托車在行駛");
}
void stop() {
System.out.println("摩托車在剎車");
}
}
class Bike extends TravelTool {
void run() {
System.out.println("自行車在行駛");
}
void stop() {
System.out.println("自行在剎車");
}
}
❸ 簡單的java介面與多態問題
多態存在的三個必要條件:繼承、重寫、父類引用指向子類對象
❹ JAVA多態經典例題
System.out.println("1--" + a1.show(b));
a1是A類引用指向A類對象,不存在多態,一定調用A類方法。A類方法有兩個show(D)和show(A),b是B類引用無法轉換為D類引用,但可以轉換為A類引用,因此調用show(A),輸出A and A。
System.out.println("2--" + a1.show(c));
輸出A and A,原因同上。
System.out.println("3--" + a1.show(d));
調用show(D),輸出A and D。
System.out.println("4--" + a2.show(b));
a2是A類引用指向B類對象,可能存在多態。b是B類引用無法轉換為D類引用,但可以轉換為A類引用,因此調用show(A),而B類重寫了show(A),因此調用的是重寫後的show(A),輸出B and A。
System.out.println("5--" + a2.show(c));
同上,C類引用無法轉換為D類引用,但可以轉換為A類引用,因此調用show(A),輸出B and A。
System.out.println("6--" + a2.show(d));
調用show(D),show(D)又調用父類即A類的show(D),輸出A and D
System.out.println("7--" + b.show(b));
b是B類引用指向B類對象,不存在多態,一定調用B類方法。B類一共有三個方法:重寫自A類的show(A)和show(D),以及新定義的show(B)。show(b)調用show(B)方法,輸出B and B
System.out.println("8--" + b.show(c));
C類繼承自B類,也調用show(B)方法,輸出B and B
System.out.println("9--" + b.show(d));
調用show(D),show(D)又調用父類即A類的show(D),輸出A and D
❺ java兩道題目——類的繼承和多態機制
//vehicle類, public class Vehicle { private float speed; private String kind; private String color; public float getSpeed() { return speed; } public void setSpeed(float speed) { this.speed = speed; } public String getKind() { return kind; } public void setKind(String kind) { this.kind = kind; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } } //汽車類; public class Car extends Vehicle { private int passenger; public int getPassenger() { return passenger; } public void setPassenger(int passenger) { this.passenger = passenger; } @Override public String toString() {//現實所有的屬性 return "speed="+this.getSpeed()+" kind="+this.getKind()+" color="+this.getColor()+" passenger="+this.getPassenger(); } public static void main(String[] args){//測試 Car car=new Car(); car.setSpeed(60.5f); car.setKind("汽車"); car.setColor("blue"); car.setPassenger(5); System.out.println(car.toString()); } } 下面個題馬上發上來,等下!