内部类的分类:成员内部类(静态、非静态)和局部内部类(方法/代码块/构造器内部)
成员内部类:(1)调用外部类的结构 (2)可以被static修饰 (3)可以被4种不同的权限修饰
如何创建静态的成员内部类实例?
public class Person {
String name;
static class Dog
{
}
}
public static void main(String[] args) {
Person.Dog dog=new Person.Dog();
}
如何创建非静态的成员内部类实例?
public class Person {
String name;
class Dog
{
}
}
public static void main(String[] args) {
Person person = new Person();
Person.Dog dog=person.new Dog();
}
如何在内部类中调用外部类的同名属性?
调用方式:外部类名.this.同名属性
public class Person {
String name;
class Dog
{
String name;
public Dog()
{
this.name=Person.this.name;
}
}
}