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

如题所述

内部类
就相当于一个外部类的
成员变量
,所以可以
直接访问
外部变量
,外部类不能直接访问内部类变量,必须通过创建内部类实例的方法访问,
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,这样解释够
明白了吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-18
可以,例如
public
class
satictest
{
//外部静态变量
private
static
int
id
=
1;
//内部类
class
tom{
//访问外部类id并打印
private
int
studentid
=
id;
public
void
s(){
system.out.print(studentid);
}
}
}
相似回答