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

[作业1]

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

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

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

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

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

答:

//按钮监听器接口

interface ButtonListener {

public void onClick(); // 单击事件

public void onDbclick(); // 双击事件

public void onKeyDown(); // 按键按下

public void onKeyUp(); // 按键释放

}

// 按钮监听器适配器

abstract class ButtonAdapterimplements ButtonListener {

public void onDbclick() {

}

public void onKeyUp() {

}

public void onKeyDown() {

}

}

class MyListener extends ButtonAdapter {

public void onClick() {

System.out.println("i click one !");

}

}

class YourListener extends ButtonAdapter {

public void onClick() {

System.out.println("you click one !");

}

}

// 按钮

class Button {

// 按钮的监听器

private ButtonListener listener;

// 添加监听器

public void addListener(ButtonListener lsn) {

this.listener = lsn;

}

// 模拟单击事件

public void click() {

// 处理单击事件

listener.onClick();

}

}

class AdapterDemo {

public static void main(String[] args) {

// button1

Button btn1 = new Button();

MyListener l = new MyListener();

btn1.addListener(l);

btn1.click();

// button2

Button btn2 = new Button();

YourListener yl = new YourListener();

btn2.addListener(yl);

btn2.click();

}

}

[作业2]

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

阐述什么是多态。

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

答:

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

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

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

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

时间: 2024-08-25 02:07:50

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

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

[作业1] ------------------------------------ 使用抽象类和接口实现适配器模式设计.涉及的类和接口分别为ButtonListener(接口), 其中含有click() / dbclick() / keyUp() / keyDown()等方法. ButtonAdapter(按钮适配器类),适配器中对非click()方法进行默认实现. Button类中添加addListener(ButtonListener l)方法. interface ButtonListe

java基础学习总结——接口

java基础学习总结——接口 一.接口的概念 JAVA是只支持单继承的,但现实之中存在多重继承这种现象,如“金丝猴是一种动物”,金丝猴从动物这个类继承,同时“金丝猴是一种值钱的东西”,金丝猴从“值钱的东西”这个类继承,同时“金丝猴是一种应该受到保护的东西”,金丝猴从“应该受到保护的东西”这个类继承.这样金丝猴可以同时从 “动物类”.“值钱的东西类”.“应该受到保护的东西” 这三个类继承,但由于JAVA只支持单继承,因此金丝猴只能从这三个类中的一个来继承,不能同时继承这三个类.因此为了封装现实生活

2.35 Java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别

java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别 一.抽象 abstract作用:不能产生对象,充当父类,强制子类正确实现重写方法和类相比仅有的改变是不能产生对象,其他的都有,包括构造.属性等等任何一个类只要有一个抽象的方法就成了抽象类 抽象方法 public abstract A();①方法是抽象的,这个类也是抽象的:②子类必须重写抽象方法,除非子类也是抽象类 抽象类可以没有抽象方法,但一般不这么设计 二.接口 interface 接口也是Java的一种引用数据类型(J

复习java基础第六天(IO)

一:File 类 • 输入:读取外部数据(磁盘.光盘等存储设备的数据)到程序(内存)中. • 输出:将程序(内存)数据输出到磁盘.光盘等存储设备中 • Java 的 IO 流主要包括输入.输出两种 IO 流,每种输入.输出流有可分为字节流和字符流两大类: – 字节流以字节为单位来处理输入.输出操作 – 字符流以字符为单位来处理输入.输出操作 注意:输入.输出是以程序为参照. • File 类代表与平台无关的文件和目录. • File  能新建.删除.重命名文件和目录,但 File 不能访问文件内

Java基础05 实施接口(转载)

经过封装,产品隐藏了内部细节,只提供给用户接口(interface). 接口是非常有用的概念,可以辅助我们的抽象思考.在现实生活中,当我们想起某个用具的时候,往往想到的是该用具的功能性接口.比如杯子,我们想到加水和喝水的可能性,高于想到杯子的材质和价格.也就是说,一定程度上,用具的接口等同于用具本身.内部细节则在思考过程中被摒弃. 在public和private的封装机制,我们实际上同时定义了类和接口,类和接口混合在一起.Java还提供了interface这一语法.这一语法将接口从类的具体定义中

java基础第六天

使用抽象类和接口实现适配器模式设计.涉及的类和接口分别为ButtonListener(接口), 其中含有click() / dbclick() / keyUp() / keyDown()等方法. ButtonAdapter(按钮适配器类),适配器中对非click()方法进行默认实现. Button类中添加addListener(ButtonListener l)方法. */ /* interface ButtonListener { public abstract void click(); p

【大数据-第二期】java基础第六天作业

[作业1] ------------------------------------ 使用抽象类和接口实现适配器模式设计.涉及的类和接口分别为ButtonListener(接口), 其中含有click() / dbclick() / keyUp() / keyDown()等方法. ButtonAdapter(按钮适配器类),适配器中对非click()方法进行默认实现. Button类中添加addListener(ButtonListener l)方法. //按钮监听接口 interface Bu

java基础-抽象类与接口(转)

抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类       我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类.比如new Animal(),我们都知道这个是产生一个动物Animal对象,但

详解java基础--抽象类、接口与多态

抽象类.接口.多态都是面向对象中很基础的东西,我相信看到能本篇博客的人本不会再纠结它的基本定义了,本篇文章将尽量的更加深层次的挖掘其内涵,希望能对大家有帮助. 一.抽象类 1.形式 1 abstract class Ceshi 2 { 3 abstract void show(); 4 } 5 class DemoA extends Ceshi 6 { 7 void show() 8 { 9 System.out.print("Hello world"); 10 } 11 } 2.特点