Java--内部类

来源:互联网 发布:创业软件有哪些 编辑:程序博客网 时间:2024/04/27 22:33

内部类访问特点 

     内部类可以直接访问外部类的成员,包括私有。

      外部类要访问内部类的成员,必须创建对象。 

      外部类名.内部类名对象名 =外部类对象.内部类对象;

成员内部类被静态修饰后的访问方式是:

      外部类名.内部类名对象名 =外部类名.内部类对象;

class InnerClass{public static void main(String[] args){Outer.InnerA io = new Outer().new InnerA();io.print();Outer o = new Outer();o.printB();}}class Outer{class InnerA{public void print(){System.out.println("内部类");}}private class InnerB{public void print(){System.out.println("内部类-B");}}public void printB(){InnerB ib = new InnerB();ib.print();}}

匿名内部类使用:

class NoNameInner{public static void main(String[] args) {PersonDemo pd = new PersonDemo();// pd.method(new StudentA());或者如下        pd.method(new Person(){            //匿名内部类当做参数传递(本质把匿名内部类看做一个对象)        public void show(){            //可以把new Person(){}看做一个子类对象,对方法进行重写System.out.println("show--heiha");       }        });        Outer.method().show();}}abstract class Person{public abstract void show();}class PersonDemo{public void method(Person p){p.show();}}class StudentA extends Person{public void show(){System.out.println("show");}}interface Inter { void show(); }class Outer {  public static Inter method(){ return new Inter(){ public void show(){ System.out.println("Hello,Inter!"); } }; }}


1 0
原创粉丝点击