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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IT十八掌作业_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基础第六天_接口与适配器模式多态内部类的主要内容,如果未能解决你的问题,请参考以下文章

IT十八掌作业_java基础第十六天_GUI/socket

IT十八掌第六天总结(含作业)

IT十八掌作业_java基础第五天_静态代码块类的继承和接口

IT十八掌作业_java基础第26天_Java基础总结/虚拟机基础

IT十八掌作业_java基础第十三天_I

IT十八掌作业_java基础第十七天_QQ案例