您的位置:首页 > 编程语言 > Java开发

JAVA设计模式 第二章 接口型模式介绍

2008-01-14 14:43 267 查看
自我突破题2.1 请写出抽象类和Java接口的三点区别。
答:1,抽象类是使用abstract class来描述,接口是使用interface来描述的。2,在抽象类中允许包含非抽象方法,而在接口中必须全部是抽象方法(尽管可以不用显示声明)。3,接口之间可以实现多继承关系,而抽象类只能被一个类继承。4,接口内的字段只能使用static final来修饰,而抽象类中可以有变量。5,抽象类中可以有构造方法,而接口不可以有。6,抽象类内的方法可以是用public,protected,private和默认修饰符进行修饰,而接口方法只能使用public修饰。

自我突破题2.2 如下接口:
package com.oozinoz.simulation
public interface RocketSim{
abstract double getMass();
public double getThrust();
void setSimTime(Double t);
} 下面的表述哪些是正确的?
A. RocketSim接口中的三个方法都是抽象方法,尽管只有getMass()方法显示地声明为抽象的。
B. RocketSim接口中的三个方法都是公有方法,尽管只有getThrust()方法被显示地声明为公有的。
C. 接口被声明为“公有接口”;即使省略了public关键字,它也应该是公有的。
D. 可以再创建一个接口,如RocketSimSolid接口,并扩展RocketSim接口。
E. 每个接口必须至少含有一个方法。
F. 接口可以声明实例字段,实现该接口的类也必须声明该字段。
G. 虽然不能实例化一个接口,但接口定义可以声明构造器方法,要求实现该接口的类必须提供具有指定参数的构造器。

自我突破题2.3 请举出一个含有方法的接口例子,说明类在实现接口的方法时并不一定要执行若干操作或返回某个值。
答:监听器接口和监听适配器类。例如:WindowListener和WindowAdapter。WindowAdapter实现了WindowListener,但实现的方法体中为空。这样在使用某种监听方法时,可以继承WindowAdapter并只实现其中需要使用的方法即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: