javafinal关键字,权限修饰符,内部类
1 final关键字的用法 含义:最终的不可变
可以用来修饰类 public final class A{} 不能有子类
可以用来修饰成员方法 返回之前加final 该方法不能由子类覆盖重写
可以用来修饰成员变量 需要手动赋值,直接赋值或者构造赋值(必须赋值)
可以用来修饰局部变量 只能赋值一次,基本数据类型为数值不可变,对于引用类型地址值不可变
2 权限修饰符
public protected (default) private
同一个类 是 是 是 是
同一个包 是 是 是 否
不同包子类 是 是 否 否
不同包非子类 是 否 否 否
3 内部类
什么是内部类:一个类中包含另一个类
分类:
成员内部类
局部内部类(匿名内部类)
4成员内部类的使用
①在外部类方法中创建内部类对象进行使用
②直接使用 外部类.内部类 名 = new 外部类().new 内部类();
5 内部类变量的访问
1 public class Outer{ 2 private int num=10; 3 public class Inter{ 4 private int num=20; 5 pubilc void method(){ 6 int num=30; 7 System.out.println(num); //30 8 System.out.println(this.num); //20 9 System.out.println(Outer.this.
num); //10 10 } 11 } 12 }
6 局部内部类
直接在方法中定义,直接在方法中使用
7 关于局部内部类访问局部变量的问题 !
局部内部类,如果希望访问所在方法的局部变量,那么这个局部变量必须是【有效final的】。
备注:从Java 8+开始,只要局部变量事实不变,那么final关键字可以省略。
8匿名内部类
如果子类或者实现类只需要用一次,就可以使用匿名内部类
格式 :
接口名称 对象名 = new 接口名称() {
// 覆盖重写所有抽象方法
};

浙公网安备 33010602011771号