编程语言
首页 > 编程语言> > JAVA内部类

JAVA内部类

作者:互联网

内部类

内部类的概念

成员内部类

package Demo02;
//外部类
public class Outside {
    private int LuckyNumber=6;
    public void say(){
        System.out.println("I'm an Outer!");
    }
    //内部类
    public class Inside{
        public void hey(){
            System.out.println("I'm an Inner!");
        }
        //内部类可以直接访问外部类的一些方法或者变量
        //静态内部类不能访问外部类的属性方法
        public void getLuckyNumber(){
            System.out.println("Hey! my lucky number is "+LuckyNumber);
            say();
        }

    }
}
package Demo02;
//测试用类
public class Test {
    public static void main(String[] args) {
        Outside outside = new Outside();   //创建一个指向Outside对象的引用变量outside,类型为Outside
        Outside.Inside inside = outside.new Inside();   //利用外部类来引用其中的内部类,并创建一个指向被外部类指向的内部对象的一个引用变量inside,类型为内部类Inside
        outside.say();  //用引用变量outside指向外部类Outside中的方法进行调用。
        inside.hey();  //用内部类的引用变量inside指向内部类Inside中的方法进行调用
        inside.getLuckyNumber(); //利用内部类的方法获取外部类的变量和方法,连私有变量也可以获取

    }
}



/*输出结果:
I'm an Outer!
I'm an Inner!
Hey! my lucky number is 6
I'm an Outer!
*/

静态内部类


局部内部类


匿名内部类

代码例子:

package Demo02;

public class Outside {
    ........
}
class Unname{
    public void WithOut(){
        System.out.println("我是匿名内部类");
    }
}
package Demo02;

public class Test {
    public static void main(String[] args) {
        new Unname().WithOut();
    }
}
//接口也同样适用



//输出结果:我是匿名内部类

标签:部类,JAVA,内部,class,Outside,static,public
来源: https://www.cnblogs.com/starocean/p/14720625.html