成员内部类
内部类:
- 一个类定义在另外一个类的内部,那么该类就称作为内部类。
内部类的区别:
1 成员内部类:
-
成员内部类的访问方式:
-
方式一:在外部类提供一个方法创建内部类的对象进行访问。
-
方式二:在其他类直接创建内部类的对象。格式:
外部类.内部类 变量名 = new 外部类().内部类();
-
注意:如果是一个静态内部类,那么在其他类创建的格式如下:
外部类.内部类 变量名 = new 外部类.内部类();
-
内部类的好处:内部类可以直接访问外部类的所有成员。
-
内部类要注意的细节:
-
如果外部类与内部类存在同名的成员变量时,在内部类中默认情况下是访问内部类的成员变量。可以通过外部类.this.成员变量名指定访问外部类的成员。
-
私有成员内部类只能在外部类中提供一个方法创建内部类的对象进行访问,不可以在其他类中直接创建内部类的对象。
-
成员内部类一旦出现了静态的成员,那么该类也必须使用static修饰。
2 局部内部类:
- 局部内部类:
- 在一个类的方法内部定义另一个类,那么两一个类就称作局部内部类。
- 局部内部类要注意的细节:
- 如果局部内部类访问了一个局部变量,那么该局部变量必须使用final修饰。
为了保持一致性,故使用final进行修饰。
匿名内部类
- 没有类名的类就称作为匿名内部类。
匿名内部类的好处:
- 简化书写
匿名内部类的使用前提:
- 必须存在继承或者实现关系才能使用。
匿名内部类一般用于实参。
网友评论