Java

2019-03-08 Java Inner 01

2019-03-08  本文已影响0人  yangsunior

内部类的访问特点

class Outer
{
    private static int num = 31;

    class Inner// 内部类。
    {
        void show()
        {
            System.out.println("show run..."+num);
        }
    }
    
    public void method()
    {
        Inner in = new Inner();
        in.show();
    }
}
class InnerClassDemo
{
    public static void main(String[] args) 
    {
        Outer out = new Outer();
        out.method();
    }
}

OUTPUT:

show run...31
class InnerClassDemo
{
    public static void main(String[] args) 
    {
        Outer.Inner in =  new Outer().new Inner();
        in.show();
    }
}

OUTPUT:

show run...31

注: 这种写法目前不是很明白,以后再议。

class Outer
{
    private static int num = 31;

    static class Inner// 内部类。
    {
        void show()
        {
            System.out.println("show run..."+num);
        }
    }
    
    public void method()
    {
        Inner in = new Inner();
        in.show();
    }
}

class InnerClassDemo
{
    public static void main(String[] args) 
    {
        Outer.Inner in =  new Outer.Inner();
        in.show();
    }
}

OUTPUT:

show run...31
class Outer
{
    private static int num = 31;

    static class Inner// 内部类。
    {
        static void function()//如果内部类中定义了静态成员,该内部类也必须是静态的。
        {
            System.out.println("function run ...."+num);
        }
    }
}

class InnerClassDemo
{
    public static void main(String[] args) 
    {
        //如果内部类是静态的,成员是静态的。
        Outer.Inner.function();
    }
}

OUTPUT:

function run ....31

何时用到内部类?

  1. 一把用于类的设计。

  2. 分析事物时发现该事物描述中还有事物,而且这个事物还在访问被描述事物的内容。
    这时就是还有的事物定义成内部类来描述。

上一篇下一篇

猜你喜欢

热点阅读