java内部类可以访问外部类的静态方法吗

Python04

java内部类可以访问外部类的静态方法吗,第1张

部类

就相当于一个外部类的成员变量,所以可以直接访问

外部变量

,外部类不能直接访问内部类变量,必须通过创建内部类实例的方法访问,

new

InnerClass

(32).m就是创建内部类实例访问内部类成员变量。

你想不通的肯定是指内部类的私有变量怎么可以被外部类访问吧,按常规,私有变量m只能在InnerClass里被访问,

但你要注意,内部类就相当于一个外部类的成员变量,举个例子。

class

Outer{

private

int

m

private

class

Inner{

private

int

n

private

int

k

}

}

m和类Inner都是成员变量,他们之间是平等的,唯一不同的就是Inner它是包装了几个成员变量比如n,k,也就是说m

n

k是平等的,区别在于访问n

k要通过Inner,就是要建立Inner实例访问nk,这样解释够明白了吧

 public class Outer{

    int x

    String s = "hello"

    public void test(){

        System.out.print("test")

    }

    public class Inner{

        int s = 20

        public void testInner(){

            //可以直接使用外部类的成员变量和成员方法

            x = 0

            test()

            //如果外部类的成员变量和内部类变量重名,可以这样调用外部类的变量

            Outer.this.s = "test"

            //当然你可以new外部类对象 这也是没问题的

            Outer o = new Outer()

            o.x = 30

            o.test()

        }

    }

 }