匿名内部类

匿名内部类

 1 interface IMessage{
 2     public void print();
 3 }
 4 public class Newbegin{
 5     public static void main(String args[]) {
 6         IMessage msg=new IMessage(){
 7             public void print(){
 8                 System.out.println("hello world!");
 9             }    
10         };
11         fun(msg); 
12     }
13     public static void fun(IMessage temp){
14         temp.print();
15     }
16 }

 

通过这样的程序我们可以得出一个结论:基本上搞匿名内部类都是在接口或者抽象类的形式上完成

范例:在抽象类中使用匿名内部类

 1 abstract class Message{
 2     public void print(){
 3         System.out.println(this.getInfo());
 4     }
 5     public abstract String getInfo();
 6 }
 7 public class Newbegin{
 8     public static void main(String args    []) {
 9         fun(new Message(){
10             public String getInfo(){
11                 return "www.jiayou.com";
12             }
13         });
14     }
15     public static void fun(Message temp){
16         temp.print();
17     }
18 }

 

强调了:一个普通类尽量不要再去由子类继承,能够继承的只是抽象类和接口,所以可以在普通类上使用匿名内部类的形式来定义子类,但是从正常的开发逻辑这些是错误的

 

posted on 2019-02-21 14:10  朽木zidiao  阅读(101)  评论(0编辑  收藏  举报

导航