Java关键字之(static与final)
Static(静态关键字)
我们通过Static定义的变量,称之为静态变量;
静态变量特点一:所有该类的对象共享一个静态变量;
静态变量特点二:没有对象也可以调用Static修饰的属性和方法;但是这个时候我们要用类名来代替对象名。(只有静态变量可以用类名代替对象名)
通过Static定义的方法叫做静态方法;
Static 修饰的方法具有和Static修饰的属性一样的特征,都是共享的一个行为,都具有一个不写对象名,直接通过进行调用的使用方式。
静态方法不能直接调用动态的方法,也不能调用非静态的属性;反之。动态方法可以调用静态方法;
动态的方法是可以调用动态属性的;静态属性在声明是不能用动态方法赋值,但静态属性声明时可以用静态的方法赋值;
动态的属性在声明时能用动态方法赋值,也可以用静态方法赋值。
当内部类有静态方法或者静态属性时,内部类必须用Static修饰。
Static在形容内部类时,内部类可以写静态方法;
Static 修饰的代码块在构造方法执行前执行,只执行一次。
(方法,属性,类,代码块)
(静态变量共享的特征)
Final(关键字)
Final 修饰的常量一定不会改变。 (public static final String NATION_CH = “中国”;)
Final 修饰的方法,方法不能被重写;
Final 修饰的类无法被继承;
总的说:Final 是将其修饰的内容设置成任何人不能修改的意思;final可以修饰类,方法,属性;在其修饰属性的时候,即使这个属性是public我也只能获取类名的值,不能修改里面的值;在其修饰方法灯的时候,表示这个方法不能被修改,就是说这个方法在继承的时候本被重写;final修饰类的时候,就表示这个类是最终类,无法被继承。