
Java语言程序设计第四讲 包、接口和异常处理
Java语言程序设计第四讲 包、接口和异常处理

接口 所谓接口可以看作是没有实现的方法 和常量的集合。接口与抽象类相似,接口 中的方法只是做了声明,而没有定义任何 具体的操作方法。使用接口是为了解决 Java语言中不支持多重继承的问题
◼接口 所谓接口可以看作是没有实现的方法 和常量的集合。接口与抽象类相似,接口 中的方法只是做了声明,而没有定义任何 具体的操作方法。使用接口是为了解决 Java语言中不支持多重继承的问题

系统提供的接口 JAVA ■Java已经创建了许多系统接口,如 MouseListener和MouseMotionListener接口,定 义了处理鼠标事件的方法,当一个类实现这两个 接口后,就可以处理这些鼠标事件。 。在接口中定义的变量全部隐含为final和static,表 明这些变量不能被实现接口方法的类改变,还必 须设置初值。如果接口为oublic的,则接口中的 方法和变量也全部为oublic
系统提供的接口 ◼ Java已经创建了许多系统接口,如 MouseListener和MouseMotionListener接口,定 义了处理鼠标事件的方法,当一个类实现这两个 接口后,就可以处理这些鼠标事件。 ◼ 在接口中定义的变量全部隐含为final和static,表 明这些变量不能被实现接口方法的类改变,还必 须设置初值。如果接口为public的,则接口中的 方法和变量也全部为public

创建自定义接口 JAVA ■创建自定义接口要使用声明接口语句, 格式如下: [修饰符]{ ∥静态常量 抽象方法声明
创建自定义接口 ◼ 创建自定义接口要使用声明接口语句, 格式如下: ◼ [修饰符] { // 静态常量 //抽象方法声明 }

在下面的程序中声明了一个自定义接 口NI。用来计算一个人年龄 interface NI 年龄接口 static int year 2010; int age(); void output(); } ·说明:在N接口中声明了两个方法:age0和 output (以及一个整型常量year
在下面的程序中声明了一个自定义接 口Nl。用来计算一个人年龄 interface Nl{ //年龄接口 static int year = 2010; int age(); void output(); } ◼ 说明:在Nl接口中声明了两个方法:age()和 output () 以及一个整型常量year

实现接口NI的例子 public class R1 implements NI∥实现年龄接口 String xm; int csrq; ∥类自己的成员变量 public R1(String n1,int y) ∥类构造方法 xm n1; csrq y; public int age(){ ∥实现接口的方法 return year csrq; ∥这里直接使用了接口的常量year
实现接口Nl的例子 public class R1 implements Nl{ //实现年龄接口 String xm; int csrq; //类自己的成员变量 public R1(String n1,int y){ //类构造方法 xm = n1; csrq = y; } public int age(){ //实现接口的方法 return year - csrq; //这里直接使用了接口的常量year }

public void output)({/实现接口的方法 JAVA System.out.println(this.xm+"今年的年龄是"+ this.age0+"岁")); public static void main (String args[]) 类自己的成员方法 R1a=newR1("张驰",1990); a.output(); K
public void output() { //实现接口的方法 System.out.println(this.xm +"今年的年龄是"+ this.age()+"岁"); } public static void main (String args[]) //类自己的成员方法 { R1 a = new R1("张驰",1990); a.output(); } }

在类中实现MouseListener和 急 MouseMotionListener两个接口. import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class DrawL extends Applet implements MouseListener,MouseMotionListener int x1,y1,x2,y2;
在类中实现MouseListener和 MouseMotionListener两个接口。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class DrawL extends Applet implements MouseListener, MouseMotionListener { int x1, y1, x2, y2;

public void init(){ JAVA addMouseListener(this); addMouseMotionListener(this); public void paint(Graphics g){ g.drawL (x1,y1,x2,y2); public void mousePressed(MouseEvent e){ ∥记录起点坐标 x1=e.getx(); y1=e.getY();
public void init() { addMouseListener(this); addMouseMotionListener(this); } public void paint(Graphics g) { g.drawL (x1, y1, x2, y2); } public void mousePressed(MouseEvent e) { // 记录起点坐标 x1=e.getX(); y1=e.getY(); }

public void mouseClicked(MouseEvent e){} JAVA public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void mouseDragged(MouseEvent e){ ∥记录终点坐标 x2=e.getX(); y2=e.getY(); repaint(); } public void mouseMoved(MouseEvent e){}
public void mouseClicked(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} public void mouseDragged(MouseEvent e) { // 记录终点坐标 x2=e.getX(); y2=e.getY(); repaint(); } public void mouseMoved(MouseEvent e) {} }