如果只需要创建一个内部类的一个对象,就没必要给这个类一个名字。这个没有名字的内部类叫做匿名内部类。
1. 扩展自接口的匿名内部类
package innerclass;
public interface Say {
public void saySomething();
}package innerclass;
public class TestSay {
public static void main(String[] args) {
// TODO Auto-generated method stub
Say say = new Say() {
@Override
public void saySomething() {
// TODO Auto-generated method stub
System.out.println("I LOVE YOU");
}
};
say.saySomething();
}
}运行结果:
I LOVE YOU
2.扩展自类的匿名内部类
package innerclass;
public class Said {
public void saidSomething() {
System.out.println("I LOVED YOU");
}
}
package innerclass;
public class TestSaid {
public static void main(String[] args) {
// TODO Auto-generated method stub
Said said = new Said(){
public void saidSomething() {
System.out.println("I DON'T LOVE YOU NOW");
}
};
said.saidSomething();
}
}
运行结果:
I DON'T LOVE YOU NOW

本文介绍了Java中匿名内部类的概念及使用方法,通过两个示例详细展示了如何基于接口和类创建匿名内部类,并给出了运行结果。
831

被折叠的 条评论
为什么被折叠?



