类的成员变量包括:属性,方法,构造器,内部类,代码块
内部类:
- 当一个事务的内部,还有一个部分需要完整的结构进行描述,而这个内部的完整结构又只为外部提高服务那么这个这个内部的完整结构就称为内部类
- 在java中,允许一个类定义位于另一个类的内部,前者称为内部类,后者称为外部类
- 内部类一般用于定义在类中或语句块之内,在外部引用时必须给出完整的名称,内部类的名字不能与其他外部类的名称相同
内部类的分类:
- 成员内部类 (static 成员的内部类和非static 的内部类)
- 局部内部类 (不谈修饰符)(相当于类中的局部变量)
- 作为成员内部类可以被四种权限修饰符所修饰,也可以有构造器,也可以实例化,可以调用外部类的结构
关于内部类的几个问题:
1.内部类如何实例化
2.如何在成员内部类去区分调用外部类的结构
3.开发中关于内部类的使用
public class Overclass {
public static void main(String[] args) {
//创建静态的成员内部类的实例
Person.B b=new Person.B();
//创建非静态的成员内部类
Person person=new Person();
Person.A a=person.new A();//通过外部类的对象访问
}
}
class Person{
String name;
class A{
// 非静态成员内部类
String name;
A(){
//构造器
}
public void method() {
System.out.println("内部类A");
}
}
static class B{
//静态成员内部类
static String name;
}
public void method() {
class AA{//局部内部类
}
}
public void method1(String name) {
System.out.println(name);//形参中的
System.out.println(this.name);//内部类中的
System.out.println(Person.B.name);//静态方法中的内部类
System.out.println(Person.this.name);//类中的
}
}