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(); //按键释放
}
class Button{
//按钮的监听器
private  ButtonListener listenner;


//添加监听器
public void  addListener(ButtonListener lis){
this.listenner = lis;
}


//模拟单击事件
public void click(){
   listenner.onClick();
}


//模拟双击事件
public void dbClick(){
listenner.onDbclick();
}


}
//按钮监听器适配器
abstract class ButtonListenerAdapter implements ButtonListener{
public void onDbclick(){
}; //双击事件
public void onKeyDown(){
}; //按键按下
public void onKeyUp(){
}; //按键释放
}


class MyListener extends ButtonListenerAdapter{
public void onClick(){
System.out.println("i click one !");
}
}


class YourListener extends ButtonListenerAdapter{
public void onClick(){
System.out.println("you click one !");
}
}


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.阐述什么是多态。

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

程序中体现:

父类或者接口的引用指向或者接收自己的子类对象。

好处和作用:

多态的存在提高了程序的扩展性和后期可维护性

前提:
需要存在继承或者实现关系
要有覆盖操作

为什么函数可以覆盖,而属性不能覆盖?
         :因为在java类中,属性最重要,不可以被覆盖,属性对应的 是数据,所以不可以被覆盖,而方法(函数)是过程,在栈中 执行之后就没了。

你可能感兴趣的:(java,基础)