概述
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); // i为static变量,值为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); } }
3 写一个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继承多态部分习题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复