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