内部类 问题

来源:互联网 发布:手机ssh连接linux 编辑:程序博客网 时间:2024/06/07 01:43
class Out{ class In{void show(){System.out.println("haha");}}//new In().show();编译失败 不会运行void method(){new In().show();}}public class Temp {    public static void main(String[] args) {    //new Out().method();    //直接访问外部类中的内部类中的成员。      Out.In in = new Out().new In();      in.show();           }               }


public class Temp { class In{void show(){System.out.println("haha");}}public static void main(String[] args) {//new In().show(); 可以运行  主方法可以运行// 但报错因为 主方法是静态的 内部类要加static }    void method(){new In().show(); //可以应为有 this.new In();}}

class Outer{void method(){Object obj = new Object(){public void show(){System.out.println("show run");}};//obj.show();//因为匿名内部类这个子类对象被向上转型为了Object类型。//这样就不能在使用子类特有的方法了。 new Object(){public void show(){System.out.println("show run");}}.show();}}class Temp{public static void main(String[] args) {new Outer().method();}}



0 0