1.final关键字:
final:终态(不可变)。final类:不可被继承,无子类,类中方法默认是final的。
final方法:不能被子类的方法覆盖,但可以被继承。
final成员变量:表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
(构造方法:方法名==类名,无返回类型,用于初始化对象(给类中成员赋初值),不能被子 类继承,不能被static、final、synchronized、abstract和native修饰)
final变量(常量):用final修饰的成员变量表示常量,值一旦给定就无法改变!
2.static关键字:
1.在不创建对象的情况下可调用方法或变量。
2.java中,static不允许用来修饰局部变量(c/c++可以)。
3.无this,因为this指向当前对象,而静态方法不需对象,用类名可直接调用。
4.类的构造器默认为静态方法。
5.静态成员变量独立于对象,但可以通过对象去访问,所有的静态方法和静态变量都可以通过对象访问(只要访问权限足够)。
6.Java中的static关键字不会影响到变量或者方法的作用域。在Java中能够影响到访问权限的只有private、public、protected(包括包访问权限)
3.
String:常量(修改相当于创建两个对象);
StringBuffer:变量,线程安全(多线程操作字符串缓冲区 下操作大量数据 = StringBuffer)。
StringBuilder:线程非安全的,速度更快(用于单线程)。