Java 语言程序设计 第五章课后习题答案 1.什么是接口?接口起什么作用?接口与抽象类有何区别? 答:Java 中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 作用:接口是面向对象的一个重要机制,使用接口可以实现多态继承;接口中的所有方法都是抽象的,这些抽象方法由实现这一接口的不同类型来具体;接口还可以用来实现不同类之间的常量共享。 与抽象类不同的是:接口允许在看起来不相干的类之间定义共同行为。 2.试编程证明接口中的属性都隐含为static 及 final,所有的方法都为public。 //定义接口Shape2D interface Shape2D{ double Pi=3.14; double area(); } //Circle 类继承接口Shape2D public class Circle implements Shape2D{ double radius; public Circle(double r){radius=r;} public double area(){return Pi*radius*radius;} } //A 类(测试接口中隐含 final 的area()方法) public class A extends Shape2D{ public double area(); } //test5_2 public class test5_2{ public static void main(String args[]){ Circle c=new Circle(10); System.out.println("Pi=3.14 圆的面积:"+c.area()); SetPi b=new SetPi(3.00); System.out.println("改变 Pi=3.00 圆的面积:"+c.area()); } } 运行结果: 3 .在什么情况下,可以对父类对象的引用进行强制类型转换,使其转化成子类对象的引用? 答:一个对象被塑型为父类或接口后,可以再一次被塑型回到它原来所属的类,即转化成原类对象的引用。 4 .声明一个接口,此接口至少具有一个方法;在一个方法中声明内部类实现此接口,并返回此接口的引用。 //A 类接口 public interface A{ void fuck(); } //B 类 public class B{ public A fuck(){ return new A(){ public void fuck(){ System.out.println("B 类声明实现A 接口类并返回接口的应用——Fuck you!"); } };/*注意这里有分号“;”*/ } } //test5_4 public class test5_4 { public static void main(String[] args){ new B().fuck().fuck(); } } 运行结果: 5.声明一个具有内部类的类,此内部类只有一个非默认的构造方法;声明另外一个具有内部类的类,此内部类继承第一...