内部类:将一个类定义在另一个类里面对里面的那个类就称为内部类(内置类,嵌套类);
特点:内部类可以直接访问外部类中的成员,包括私有成员,而外部类要访问内部类中的成员必须要建立内部类的对象。
外部类访问内部类要创建实例
直接创建内部类实例 Out.Inner in = out.new Inner();
静态内部类创建实例的写法 Out.Inner in = new Outer.Inner();
静态内部类只能反问静态的外部成员变量
将内部类写在方法中:外部函数的参数要加find才被内部的类访问和调用。
案例:
class InnerDemo
{
public static void main(String[] args)
{
new Outer().getInner().print();
}
}
{
public static void main(String[] args)
{
new Outer().getInner().print();
}
}
class Outer
{
private String name = "haoren";
class Inner
{
public void print(){
System.out.println(name);
}
}
public Inner getInner(){
Inner in = new Inner();
return in;
}
}
{
private String name = "haoren";
class Inner
{
public void print(){
System.out.println(name);
}
}
public Inner getInner(){
Inner in = new Inner();
return in;
}
}