看了网上很多人的总结,理清了头绪,简单总结如下:
public class StaticFinal {
/*static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,
* 修饰变量:随着类的加载而加载且只加载一次,独立于对象,被所有对象所共享
*
* 修饰方法:可以直接类名调用,不可以和this、super共存,只能访问类中静态成员,被所有对象所共享。
*
* 修饰代码块:随着类的加载而加载且只加载一次,如果跟主函数在一起则先于主程序加载,一般用作类的初始化
*
* 本包中的StaticDemo演示了静态块和方法以及构造方法的加载次序问题。*/
public static void main(String[] args) {
}
/**final表示最终的、终态的意思,可以修饰变量、类、方法
* 修饰类:final修饰的类不可以被继承,final类中的方法默认是final的,该类中成员不可以被覆盖。
*
* 修饰方法:final修饰的方法不可以被子类覆盖,但可以被继承,(我的理解:子类继承了父类就可以使用这个final方法了)
* 锁定方法,不被修改,内嵌机制提高效率。
*
* 修饰变量:final修饰的变量一旦赋值则不再改变(类似于C的宏定义吧),但是可以在初始化时不给final变量赋值只是生命,
* 叫做final空白,被调用之前再赋值,不变中的变。
*
* 需要注意的是:final不可以修饰构造函数,还有父类中的private成员方法是不可以被子类覆盖的,默认final的*/
}
越努力,越幸运!