2. 匿名类的定义和使用: 匿名类是一种特殊的内部类,它是在一个表达式内部包含一个完整的类定义。通过对例6-7中go()部分语句的修改,我们可以看到匿名类的使用情况。
public void go() {
f=new Frame("Two listeners example");
f.add("North",new Label("Click and drag the mouse"));
tf=new TextField(30);
f.add("South",tf);
f.addMouseMotionListener(new MouseMotionHandler(){
/*定义了一个匿名类,类名没有显式地给出,只是该类是
MouseMotionHandler类的子类*/
public void mouseDragged(MouseEvent e){
String s="Mouse dragging:X="+e.getX()+"Y
="+e.getY();
tf.setText(s);
}
});
f.addMouseListener(new MouseEventHandler());
f.setSize(300,300);
f.setVisible(true);
}
3. 内部类的优缺点:
◇ 优点:节省编译后产生的字节码文件的大小
◇ 缺点:使程序结构不清楚
【本讲小结】
类是Java语言面向对象编程的基本元素,它定义了一个对象的结构和功能。 Java类中包含成员变量和成员方法。成员变量有两种,用static 关键字修饰的变量为类变量,无static 修饰的变量为实例变量。相应地,成员方法也有两种,用static 修饰的为类方法,无static修饰的为实例方法。实例方法不仅可以对当前对象的实例变量进行操作,也可以对类变量进行操作;但类方法只能访问类变量。实例变量和实例方法必须由实例对象来调用,而类变量和类方法不仅可由实例对象来调用,还可由类名直接调用。Java通过在类定义的大括号里声明变量来把数据封装在一个类里,这里的变量称为成员变量。为了解决类名可能相同的问题,java 中提供包来管理类名空间。 封装性、继承性和多态性是java语言中面向对象的三个特性。接口是java 语言中特有的数据类型,由于接口的存在,解决了java语言不支持多重继承的问题。内部类是指在一个类的内部嵌套定义的类。 |
文章评论(0条评论)
登录后参与讨论