java内部类访问外部类
发布时间: 2023-09-14 07:16:12
⑴ java内部类怎么直接调用外部类啊
publicclassOuter{
intx;
Strings="hello";
publicvoidtest(){
System.out.print("test");
}
publicclassInner{
ints=20;
publicvoidtestInner(){
//可以直接使用外部类的成员变量和成员方法
x=0;
test();
//如果外部类的成员变量和内部类变量重名,可以这样调用外部类的变量
Outer.this.s="test";
//当然你可以new外部类对象这也是没问题的
Outero=newOuter();
o.x=30;
o.test();
}
}
}
⑵ 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,这样解释够明白了吧
⑶ java内部类怎么访问外部类的方法
在内部类使用this表示的是对内部类自身的引用,如果想要获取外部类的引用,应当使用Outer.this,所以访问外部类的方法:
Outer.this.xxxx()
热点内容