标签:java interface 类继承 bastract
第一题: interface ButtonListener{ public void click(); public void dbclick(); public void keyup(); public void keydown(); } abstract class ButtonAdapter implements ButtonListener{ public void dbclick(){ //...空实现 } public void keyup(){ //...空实现 } public void keydown(){ //...空实现 } } class MyClick extends ButtonAdapter{ public void click(){ System.out.println("我的单击事件!"); } public void dbclick(){ System.out.println("我的双击事件!"); } } class YourClick extends ButtonAdapter{ public void click(){ System.out.println("你的单击事件!"); } } class Button{ private ButtonListener listener; public void addListener(ButtonListener l){ this.listener = l; } public void click(){ listener.click(); } public void dbclick(){ listener.dbclick(); } } class InterfaceDemo{ public static void main(String[] args){ MyClick myclick = new MyClick(); YourClick yourclick = new YourClick(); Button button = new Button(); button.addListener(myclick); button.click(); button.dbclick(); button.addListener(yourclick); button.click(); } } 第二题: 多态是:某一类事物的多种形态表示,一个人同时是好父亲、好丈夫、好儿子。 属性就是保存数据,存在各自的对象中,当实例化得到当前对象时,升格的时候父类属性不被子类覆盖, 当子类没有改属性时则可以继承父类的该属性。 方式调用时存在栈中,逐级搜索,先请求父类,再请求子类,子类请求的方法与父类相同的方法时,则 会覆盖父亲请求的方法,意思就是父类请求的方法已经被子类请求的方法重置。 class Person{ public String name = "person"; public void cry(){ System.out.println("person cry..."); } } class Man extends Person{ public String name = "man"; public void cry(){ System.out.println("man cry..."); } } class Women{ public static void main(String[] args){ Man man = new Man(); man.cry(); System.out.println(man.name); Person p = new Man(); p.cry(); System.out.println(p.name); } } 打印结果是: man cry... man man cry... person
本文出自 “功不唐捐” 博客,请务必保留此出处http://senlinmin.blog.51cto.com/6400386/1771649
标签:java interface 类继承 bastract
原文地址:http://senlinmin.blog.51cto.com/6400386/1771649