定义一个包含私有变量的类,在该类中在定义一个内部类。
问 :1、内部类中的函数能否访问外部类的私有变量,还有外部类的函数呢?
内部类又称为嵌套类,可以把内部类理解为外部类的一个普通成员。
内部类访问外部类
里面的可以自由访问外面的,规则和static一样。(访问非静态时必须先创建对象)
具体如下:
非静态内部类的非静态方法
直接访问
[java]
public class Outter {
int i = 5;
static String string = "Hello";
class Inner1{
void Test1 (){
System.out.println(i);
System.out.println(string);
}
}
}<span style="font-family:Arial,Helvetica,sans-serif"> </span>
2、外部类中的函数能否访问内部类的变量与函数呢?
class Outer{
Outer(){}
public void method(){
final String name="abc";
final int age=26;
class Inner{
public void getValue(){
System.out.println(name+":"+age);
}
}
new Inner().getValue();//加上这句话就可以了
}
}
class N1
{
public static void main(String[] args)
{
new Outer().method();
}
}
=----------------------------------------------------------------------------------
主要是得到内部类的对象,内部类对象创建有3中情况,
1.在外部类的一般方法中创建:直接使用Inner in = new Inner();
2.在外部类的静态方法中创建:以为静态方法无法访问非静态对象,所以Inner in = new Outer().new Inner();这样创建,即创建一个外部类的对象再用外部类对象去创建内部类对象。
3.在别的类中,使用Outer.Inner in = new Outer().new Inner(); 创建 |