浅析匿名类的使用方法
匿名类是某种已定义的类的继承,该父类必须真实存在。匿名类属于内部类无法构造静态代码块。
构造匿名类对象主要有以下几种方式:
- new 类名{类体}
这种方式的例子是注册事件监听器 - new 类名{类体}.方法
public class Practice {
public static void main(String[] args)
{
new Outer() {
public void print()
{
System.out.println("你好");
}
public void printOut(){
System.out.println("hello");
}
}.printOut();
}
}
class Outer{
private int value;
public void printOut()
{
System.out.println(value);
}
}
在匿名类里你可以重写父类方法或定义新的方法。
3. 类名 对象名=new 类名{类体}
public class Practice {
public static void main(String[] args)
{
Outer o=new Outer() {
public void print2()
{
System.out.println("you are a cat");
}
public void printOut()
{
System.out.println("hehe");
}
};
o.printOut();
}
}
class Outer{
private int value;
public void printOut()
{
System.out.println(value);
}
}
在这里需要注意的是o已由新构造的匿名类的类型被转化为父类Outer类型。所以你在匿名类中新定义的方法无法使用。但是对父类方法的重写仍然有效。