java学习(9)内部类(2)
2016-10-12 10:28
162 查看
匿名内部类:
假如只创建这个类的一个对象,就不必命名了,这种类被称为匿名内部类。
public void start(int interval,final boolean beep)
{
ActionListener listener = new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
Date now = new Data();
}
}
}
语义是:创建一个实现ActionListener接口的类的新对象,需要实现的方法actionPerformed定义在括号{}内。
通常的语法格式
new SuperType(construction parameters)
{
inner class methods and data
}
其中SuperType可以是ActionListener这样的接口,于是内部类就要实现这个接口,SuperType也可以是一个类,于是内部类就要扩展他。
匿名类没有类名,所以匿名类不能有构造器。
静态内部类:
有时候,使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类引用外围类对象。为此,可以将内部类声明为static,以便取消产生的引用。
只有内部类可以声明为static,静态内部类的对象除了没有对生成它的外围类对象的引用特权外,与其他所有内部类完全一样。
假如只创建这个类的一个对象,就不必命名了,这种类被称为匿名内部类。
public void start(int interval,final boolean beep)
{
ActionListener listener = new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
Date now = new Data();
}
}
}
语义是:创建一个实现ActionListener接口的类的新对象,需要实现的方法actionPerformed定义在括号{}内。
通常的语法格式
new SuperType(construction parameters)
{
inner class methods and data
}
其中SuperType可以是ActionListener这样的接口,于是内部类就要实现这个接口,SuperType也可以是一个类,于是内部类就要扩展他。
匿名类没有类名,所以匿名类不能有构造器。
静态内部类:
有时候,使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类引用外围类对象。为此,可以将内部类声明为static,以便取消产生的引用。
只有内部类可以声明为static,静态内部类的对象除了没有对生成它的外围类对象的引用特权外,与其他所有内部类完全一样。
相关文章推荐
- Java学习总结8-----内部类
- Java学习系列(五)Java面向对象之抽象类、接口、内部类、枚举类详解
- Java学习系列(五)Java面向对象之抽象类、接口、内部类、枚举类详解
- Java学习系列(五)Java面向对象之抽象类、接口、内部类、枚举类详解
- Java面向对象之抽象类、接口、内部类、枚举类详解
- 内部类(访问规则和静态内部类)
- Java的各种内部类及其使用
- 内部类(转)
- 内部类
- 菜鸟学Java----局部定义的内部类
- 内部类总结
- 内部类在方法和作用域内的用途
- 黑马程序员——Java---内部类1
- 静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同
- [Android]Context泄露之谜:Handle & 内部类
- 《Java编程思想》学习笔记3——内部类
- Java 内部类调用外部类方法的一个注意点
- Java 内部类
- 无法自动生成R.java中的内部类代码
- 匿名内部类和动态代理备忘