❶ 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()); } } 下面个题马上发上来,等下!