java04——修饰符
一、访问权限修饰符
1、public
公开的,所有的类都可以访问被public修饰的成员
2、default
3、private
3、protected
二、非访问修饰符
1、static
static又被称为类修饰符。被修饰的属性,方法被称为类成员。
(1)static的优点
我们之前的成员属性,成员方法是如何才能调用的,都要先创建一个类的对象,通过对象去调用他才行。有时候会觉得这种操作十分麻烦。
如果一个成员或者方法被static修饰他以后,我们就可以不用创建对象就调用他了。我们通过类名调用他。
在jdk中,如果我们想使用圆周率
System.out.println(Math.PI);
这其实是调用了Math类的一个类变量PI
。
同理,静态成员方法也是如此。
(2)被static修饰后的区别
- 一个属性被static修饰后就是类成员属性,她的作用域是全局的。这个变量不再单独属于某个对象了,他属于整个类,如果有一个对象改变了该变量的值,那么其他对象的这个变量的值也会随着改变。
(3)应用场景
编写工具类时,可以发现工具类中的对象和方法都是static的,因为作为工具类肯定是经常被调用的东西,设置为static可以方便我们调用
2、final
当一个类不可能有子类的时候,将他标识为final类,用来实现固定的功能。
- 被final修饰的类不能被继承。(绝代了)
- 被final修饰的成员变量其实是个常量,只要经过了一次显式赋值,就不能再被赋值了。
- 我们可以在子类中重写父类的方法,但如果这个父类的方法被final修饰了,那么这个方法就不能被重写了。
- 由3我们可以推断出,abstract和final不能修饰同一个类,因为abstract要求她的方法一定要被子类实现,但是final却要求他不能有子类,冲突了。