访问内部类
静态内部类私有化的访问
<pre name="code" class="java">public class Out{
private static class C{ //静态内部类 私有化static String name = "dido";public static void swim(){System.out.println("游泳");}}
在主类里面设 set 和 get 方法
<pre name="code" class="java"> public String getName(){ //得到私有内部类的属性
System.out.println("name:"+C.name);
return C.name;
}
public void getC(){
C.swim(); //得到私有化里面的成员变量
}
在主方法里调用方法
public static void main(String[] args){
inner.getC(); //调用方法
inner.getName(); //调用属性
}
局部内部类
上述讲的内部类都是在主类的成员位置上,而局部内部类则是在主类方法里创建的类
如何得到局部内部类的成员变量呢?
public class Out{
public void run(){
double x = 2.5;
class D{ //局部内部类
public void jump(double x){
System.out.println("跳高"+x);
}
}
D d = new D(); //方法里面创建对象
d.jump(x);
}
}
同样的在主方法里面调用
public static void main(String[] args){
inner.run(); //局部内部类调用
}
内部类访问外部类属性
public class Out {
int x = 4;
class Inn{
int x =23;
public void print(int x){
int num = 34;
System.out.println(Out.this.x); //访问外部类属性
System.out.println(this.x); //访问内部类属性
System.out.println(num); //访问内部类方法属性
}
}
}