一 static 关键字的用途
主要用于标识静态变量,静态方法,静态类等
静态变量:
类的所有对象共享的变量,可以直接用class类名直接调用,在申明时必须初始化,JVM单独开辟了静态内存空间存储该
静态变量,俗称常量 申明范式; 常量 = static + final +变量, 变量名全大写
静态方法:
不需要用对象实例,只用类名直接调用,方法内不允许调用非静态的变量或者实例变量,
静态类:
如果一个类要被声明为static的,只有一种情况,就是静态内部类。如果在外部类声明为static,程序会编译都不会过。在一番调查后个人总结出了3点关于内部类和静态内部类(俗称:内嵌类)
1.静态内部类跟静态方法一样,只能访问静态的成员变量和方法,不能访问非静态的方法和属性,但是普通内部类可以访问任意外部类的成员变量和方法
2.静态内部类可以声明普通成员变量和方法,而普通内部类不能声明static成员变量和方法。
3.静态内部类可以单独初始化
Inner i = new Outer.Inner();
普通内部类初始化
Outer o = new Outer(); Inner i = o.new Inner();
二 final 关键字的几个用途
1: 用于实例变量,值不能被改变
2:用于method, method 不能被覆盖
3:用于类,类不能被继承
4:用于入参,参数值不能被修改