码迷,mamicode.com
首页 > 编程语言 > 详细

IT十八掌作业_java基础第六天_接口与适配器模式、多态、内部类

时间:2016-03-10 02:01:40      阅读:255      评论:0      收藏:0      [点我收藏+]

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

[作业1]

------------------------------------

使用抽象类和接口实现适配器模式设计。涉及的类和接口分别为ButtonListener(接口),

其中含有click() / dbclick() / keyUp() / keyDown()等方法。

ButtonAdapter(按钮适配器类),适配器中对非click()方法进行默认实现。

Button类中添加addListener(ButtonListener l)方法。


interface ButtonListener

{

abstract public void onClick();

abstract public void onDbClick();

abstract public void onKeyUp();

abstract public void onKeyDown();

}


//实现不常用的方法 --剩下就是常用的方法,让其子类去实现 ,故声明为抽象类

abstract class ButtonAdapter implements ButtonListener

{

public void onDbClick()

{

}


public void onKeyUp()

{

}


public void onKeyDown()

{

}

}



class Button

{

ButtonListener lst;


public void addButtonListener(ButtonListener lst)

{

this.lst = lst ;

}


//

public void click()

{

lst.onClick();

}

}


//class myListener extends ButtonAdapter

//{

// public void onClick()

// {

// System.out.println("Click...");

// }

//}



class InterfaceListenerDemo

{

public static void main(String[] args)

{

Button btn = new Button();

//myListener lst = new myListener();


//btn.addButtonListener(lst);


btn.addButtonListener(new ButtonAdapter(){

public void onClick()

{

System.out.println("匿名内部类 Click...");

}

});


btn.click();


Button btn2 = new Button();


btn2.addButtonListener(new ButtonAdapter(){

public void onClick()

{

System.out.println("第二个按钮 Click...");

}

});


btn2.click();


}

}


[作业2]

------------------------------------

阐述什么是多态。

为什么函数可以覆盖,而属性不能覆盖?

定义:某一类事物的多种存在形态。

   对继承的类来讲,使用父类类型引用子类的对象。

   对于接口来说,可以使用接口引用实现了该接口的类所创建的对象。

属性是资产,容纳数据的地方,函数是行为,不容纳和存储数据,所以函数可以被覆盖,而属性不能。


IT十八掌作业_java基础第六天_接口与适配器模式、多态、内部类

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

原文地址:http://45279.blog.51cto.com/35279/1749269

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!