如果一个事物包含另一个事物,那么这也就是一个类内部包含另一个类;
内部类分类:成员内部类 局部内部类 (匿名内部类)
成员内部类:
定义格式:
修饰符 class 类名称 {
修饰符 class 类名称{
//
}
}
注意,内部类使用外部,可以随意访问;无视权限;但是外部用内部,一定需要借助内部类对象;
演示:内部类文件名称 外部类名称$内部类名称;
如何使用成员内部类?有两种方式。
1.间接方式:在外部类的方法当中,使用内部类,进而调用内部类成员函数,然后main()只是调用外部类的方法;
2直接方法:公式:
类名称 对象名 =new 类名称();
外部类名称.内部类名称 对象名=new 外部类名称().new 内部类名称();
内部类的同名变量访问:
内部类访问外部类的同名变量:外部类名称.this.外部类成员变量;
局部内部类:定义在方法内部:只有当前所属的方法才能使用,出了方法就不能使用了;
定义格式:
修饰符 class 外部类名称{
修饰符 返回值类型 外部类方法名称(参数列表){
class 局部内部类名称{
}
}
}
小结:类的权限修饰符