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

java基础第六天_接口与适配器模式、多态、内部类

2016-05-12 00:28 423 查看
[作业1]------------------------------------使用抽象类和接口实现适配器模式设计。涉及的类和接口分别为ButtonListener(接口),其中含有click() / dbclick() / keyUp() / keyDown()等方法。ButtonAdapter(按钮适配器类),适配器中对非click()方法进行默认实现。Button类中添加addListener(ButtonListener l)方法。答:
/*
定义一个接口,让接收到值判断做出相应动作,接口接收的值需要一个监视器接收
注意问题:a.接口实现全部实现即使是空实现。b.定义一个监视器接收值用接口类
*/

//定义接口
interface ButtonListener{
public void click();
public void dbclick();
public void keyUp();
public void keyDown();
}

//定义按钮适配器类 适配器中对非click方法进行默认实现
abstract class ButtonAspter implements ButtonListener{
public void click(){}
public void dbclick(){}
public void keyUp(){}
public void keyDown(){}
}

//如果是单击,实现单击事件
class ButtonClick extends ButtonAspter{
public void click(){
System.out.println("单击");
}
}

//如果是双击,实现双击事件
class ButtonDbClick extends ButtonAspter{
public void dbclick(){
System.out.println("双击");
}
}

//监听器
class Button{
private ButtonListener ll;
//添加监听器
public void addListener(ButtonListener ll){
this.ll=ll;
}
//模拟单击事件
public void click(){
ll.click();
}

//模拟双击事件
public void dbclick(){
ll.dbclick();
}

}
class AdaptDemo{
public static void main(String[] args){
//单击
Button bt=new Button();
ButtonClick bb=new ButtonClick();
bt.addListener(bb);
bt.click();

//双击
Button bt2=new Button();
ButtonDbClick bb2=new ButtonDbClick();
bt2.addListener(bb2);
bt2.dbclick();
}
}
[作业2]------------------------------------阐述什么是多态。为什么函数可以覆盖,而属性不能覆盖? a.同一消息可以根据不同对象给出不同的行为方式。同一事物不同形态。
b.对于一个对象来说属性是自身的东西,属于资产不可覆盖,而函数是行为方法,不容纳数据,可以覆盖。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 接口 基础