我是靠谱客的博主 老实月饼,最近开发中收集的这篇文章主要介绍Java继承多态部分习题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1 下列程序的输出结果为:

class Base {
Base() {
int i = 100;

System.out.println(i);

}
}
public class Pri extends Base {
static int i = 200;


public static void main(String argv[]) {
Pri p = new Pri();
// 实例化一个对象,执行Base()方法

System.out.println(i);
// istatic变量,值为200

}
}

运行结果

100
200


Process finished with exit code 0


2 下列父类中的变量不能够被子类所访问的是:

class Parent {
private int i = 20;

protected int j = 30;

public int k = 40;

int h = 50;
}
class Child extends Parent {
void f() {
}
}

A.i        B.j        C.k        D.h

答案: A 理由:

class Parent {
private int i = 20;

protected int j = 30;

public int k = 40;

int h = 50;
}
class Child extends Parent {
void f() {
//System.out.println(i); // i has private access in "Present"

System.out.println(j);

System.out.println(k);

System.out.println(h);

}
}

写一个Java应用程序,主要是体现父类子类间的继承关系。父类:鸟,子类:麻雀、鸵鸟、鹰。子类继承父类的一些特点,如都是鸟的话就都会有翅膀、两条腿等,但它们各自又有各自的特点,如麻雀的年龄、体重;鸵鸟的身高、奔跑速度;鹰的捕食、飞翔高度等。

BirdTest.java

class Birds {
int leg = 2;

int wings = 2;


public void fly() {
System.out.println("鸟儿能够飞翔");

}
public void grow() {
System.out.println("鸟儿都有两只翅膀和两条腿");

}
}
class Sparrow extends Birds {
public void printAge(int age) {
System.out.println("鸟儿的年龄是:" + age);

}
public void printHeight(int height) {
System.out.println("鸟儿飞行的高度是:" + height);

}
}
class Ostrich extends Birds {
public void printWight(int weight) {
System.out.println("鸵鸟的体重是:" + weight);

}
public void printSpeed(int speed) {
System.out.println("鸵鸟的速度是:" + speed);

}
}
class Eagle extends Birds {
public static void hunt() {
System.out.println("鹰会捕食");

}
public static void height(int height) {
System.out.println("鹰飞翔的高度是:" + height);

}
}
public class BirdTest {
public static void main(String[] args) {
Birds birds = new Birds();

birds.fly();

birds.grow();


//父类实例化调用

System.out.println(); //这是一个换行

Birds birdsOne = new Sparrow();

birdsOne.grow();

birdsOne.fly();

//子类调用父类的方式

((Sparrow) birdsOne).printAge(5);

((Sparrow) birdsOne).printHeight(200);


//子类调用

System.out.println(); //这是一个换行

Ostrich ostrich = new Ostrich();

ostrich.fly();

ostrich.grow();

ostrich.printSpeed(60);

ostrich.printWight(100);


//直接调用static方法

System.out.println(); //这是一个换行

Eagle.hunt();

Eagle.height(800);

}
}

运行结果:

鸟儿能够飞翔
鸟儿都有两只翅膀和两条腿

鸟儿都有两只翅膀和两条腿
鸟儿能够飞翔
鸟儿的年龄是:5
鸟儿飞行的高度是:200

鸟儿能够飞翔
鸟儿都有两只翅膀和两条腿
鸵鸟的速度是:60
鸵鸟的体重是:100

鹰会捕食
鹰飞翔的高度是:800

Process finished with exit code 0        


4 按要求编写一个Java应用程序:
(1)定义一个类,描述一个矩形,包含有长、宽两种属性和计算面积方法。
(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性和计算体积的方法。
(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。

示例代码如下:

Rectangle.java

class Rectangle {
double chang;

double kuan;

Rectangle(double chang,double kuan){
this.chang = chang;

this.kuan = kuan;

}
double getArea(){
return chang * kuan;

}
}
class Rectangular extends Rectangle{
double gao;


Rectangular(double chang, double kuan,double gao) {
super(chang, kuan);

this.gao = gao;

}
double getVolume(){
return gao * getArea();

}
}
class RectangleTest{
public static void main(String []args){
System.out.println("开始执行");

Rectangular rectangular = new Rectangular(15,12,5);

System.out.println("这是体积计算:" + rectangular.getVolume());

System.out.println("这是面积计算:" + rectangular.getArea());


System.out.println("另一种实例化方式:");

System.out.println("这是面积计算:" + new Rectangle(15,12).getArea());

System.out.println("这是体积计算:" + new Rectangular(15,12,5).getVolume());

}
}
运行结果:

开始执行
这是体积计算:900.0
这是面积计算:180.0
另一种实例化方式:
这是面积计算:180.0
这是体积计算:900.0

Process finished with exit code 0


最后

以上就是老实月饼为你收集整理的Java继承多态部分习题的全部内容,希望文章能够帮你解决Java继承多态部分习题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部