final类:
在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量),一旦被final类修饰本身变不可被重写
基本用法:可用做修饰类、成员变量和成员方法。
使用final关键字好处:
- final方法比非final快一些
- final关键字提高了性能。JVM和Java应用都会缓存final变量。
- final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销。
- 使用final关键字,JVM会对方法、变量及类进行优化。
权限:
Java 中一共有四种访问权限控制,
其权限控制的大小情况是这样的:public > protected > default(包访问权限) > private
访问权限 | 本类 | 本包的类 | 子类 | 非子类的外包类 |
---|---|---|---|---|
public | 是 | 是 | 是 | 是 |
protected | 是 | 是 | 是 | 否 |
default | 是 | 是 | 否 | 否 |
private | 是 | 否 | 否 | 否 |
1、public: 所修饰的类、变量、方法,在内外包均具有访问权限;
2、protected: 这种权限是为继承而设计的,protected所修饰的成员,对所有子类是可访问的,但只对同包的类是可访问的,对外包的非子类是不可以访问;
3、包访问权限(default): 只对同包的类具有访问的权限,外包的所有类都不能访问;
4、private: 私有的权限,只对本类的方法可以使用;
内部类:
非静态内部类是一个类中嵌套着另外一个类。 它有访问外部类成员的权限, 通常被称为内部类。由于内部类嵌套在外部类中,因此必须首先实例化外部类,然后创建内部类的对象来实现。