一、接口
接口是一类特殊的父类,它没有属性、构造方法和普通方法,而是由常量和抽象方法构成的。
常量:常量名的单词全用大写。
抽象方法:只有方法的签名而没有方法体,即没有大括号。
常量和抽象方法的访问修饰符都是默认的public,因为接口只有这一个访问修饰符,因此编写时可以省去public,定义抽象方法时也可以省去abstract,由接口默认提供。
接口的关键字是interface:
public interface MouseListener extends EventListener { /** * Invoked when the mouse button has been clicked (pressed * and released) on a component. */ public void mouseClicked(MouseEvent e); /** * Invoked when a mouse button has been pressed on a component. */ public void mousePressed(MouseEvent e); /** * Invoked when a mouse button has been released on a component. */ public void mouseReleased(MouseEvent e); /** * Invoked when the mouse enters a component. */ public void mouseEntered(MouseEvent e); /** * Invoked when the mouse exits a component. */ public void mouseExited(MouseEvent e); }
由于接口没有构造方法,因此不能用接口直接来初始化对象,而且由于接口没有方法体,因此创建对象也没有意义。因此想要使用接口,必须创建新的类来实现接口。
实现接口的方法:实现接口是继承父类的一种特殊形式,需要用到的关键词不是extends而是implements。
public class Mlistener implements MouseListener{ }
接口只能继承接口 ,继承用extends关键字。
类只能继承一个父类(单继承),而接口可以一次继承多个,用逗号分开即可(多继承)。
一个类可以同时继承类和实现接口,但继承类必须写在实现接口之前:
public class QQ extends JFrame implements ActionListener{ }
否则会出现语法错误。
而且实现接口的类一定要重写接口(包括间接继承的接口)中的所有抽象方法,方法的大括号中不需要都有内容,有大括号即可(一定去掉方法签名中的abstract)。
二、抽象类
关键字 abstract class,它同时拥有接口和类的特点,即它可以有常量和抽象方法又可以有属性、构造方法和普通方法,因此它可以同时继承类、抽象类和接口,而且对接口中的类可以选择不重写。
抽象类的访问修饰符也有四类,注意抽象类是不能初始化对象的(因为可能存在抽象方法)。
三、事件
事件源 所有的图形界面所有的组件都可以做为事件源
可以根据发生的动作来确定事件源对象
事件监听器方法,用来监听事件源的动作并捕获事件源的动作,从而在事件源的动作发生时调用一定的方法
常见的方法有:addActionListener、addMouseListener等
事件接口或事件抽象类 不能创建对象,要定义一个新的类来实现接口或抽象类
常见的监听器 动作监听器ActionListener、鼠标监听器MouseListener、鼠标动作监听器MouseMotionLtistener、按键动作监听器KeyListener
相关推荐
java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例...
抽象类与接口 抽象类与接口 抽象类与接口 抽象类与接口
Java抽象类与接口实验报告
1.继承及继承实例 2.方法重写(Overwrite) 3.super关键字 4.方法重载(Overload) 5.final修饰符 6.abstract修饰符 7.抽象类 8.接口 9.接口和抽象类对比 10.接口和抽象类使用场合实例 11.总结
抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...
主要介绍接口与抽象类的区别,为那些困惑的人指点迷津。
抽象类与接口的区别,抽象类与接口的具体应用
java 抽象类与接口的练习,包括代码及注释,个人笔记
抽象类和接口实验报告
第7章 抽象类与接口.ppt第7章 抽象类与接口.ppt
c#中抽象类和接口。 相同点: (1) 都可以被继承 (2) 都不能被实例化 (3) 都可以包含方法声明 (4) 派生类必须实现未实现的方法 区 别: (1) 抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、...
详细介绍了dot Net中抽象类与接口的区别 3.1 相同点 • 都不能被直接实例化,都可以通过继承实现其抽象方法。 • 都是面向抽象编程的技术基础,实现了诸多的设计模式。 3.2 不同点 • 接口支持多...
深入浅出的说明java抽象类与接口区别,让初学者更好的理解java抽象类与接口的概念
C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例 C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
1. 设计并使用抽象类; 2.学习如何定义接口,掌握接口的实现方式,使用实现了接口的类; 3.理解接口与抽象类的区别。
java 抽象类与接口的区别
(3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类 (4) 具体派生类必须覆盖基类的抽象方法 (5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖。如果不覆盖,...
11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别....
此书对于你学习Java抽象类和接口有非常大的帮助