java基础笔记009—内部类+关键字
今日内容
1. 【理解】什么是内部类
2. 【掌握】匿名内部类
4. 【理解】final关键字的使用
5. 【理解】包的定义及使用
6. 【理解】权限修饰符
7. 【掌握】static关键字的使用
一、内部类
1.1概念
内部类A就是定义在一个类B里面的类,A就是B的内部类,B是A的外部类
public class B{
public class A{
//成员内部类
}
public void method(){
class D{
//局部内部类
}
}
}
class C{
//C不是B的内部类,同级类
}
1.2内部类分类
1、成员内部类 2、局部内部类 3、匿名内部类
1.2.1成员内部类
- 定义及格式
定义在一个类的类里,方法外的类就是成员内部类。
class B{
class A{
}
}
- 成员内部类特点
1.成员内部类中可以直接访问外部类成员,包括私有成员。
2.外部类要访问成员内部类的成员,必须创建内部类对象。
3.成员内部类可以在外部类、其他类中创建使用。
-
成员内部类的对象创建
-
在它的外部类,正常使用
成员内部类名 变量名 = new 成员内部类名();
-
在其他类中
外部类.内部类 变量名 = new 外部类().new 内部类();
-
-
成员内部类编译生成的.class文件格式
也会生成独立class文件,但会在前面加上外部类名,固定格式:外部类名$内部类名.class
1.2.2局部内部类
- 定义及格式
定义在类中的普通方法中的类就是局部内部类。
public class B{
public void method(){
int i = 9;
class A{
//A就是B的局部内部类
}
}
}
-
局部内部类的特点
1.局部内部类和局部变量一样,定义在类中方法里 2.局部内部类随着方法的创建而创建,当方法执行完毕后将被回收 3.局部内部类只能在定义它的方法中创建对象并使用 4.局部内部类中同样可以操作外部类的所有成员,包括私有
-
局部内部类的对象创建
局部内部类只能在定义它的方法中创建对象并使用public class B{ public void method()