一、static关键字
static:静态的,共享的;
static关键字的作用:
- static修饰的资源(属性、方法、代码块),可以直接用类名调用,无需创建对象;
- static修饰的东西,只有一份,所有的对象都共用一份,如果对象修改了资源,其他对象获取的就是被修改以后的资源;
- 静态资源不依赖于对象,依赖于类,静态资源在类加载的时候就被加载进来了,优先于对象的存在,静态方法不能直接调用非静态的东西;
- 静态资源只加载一次。
案例一:Hero类
案例二:愚公移山类
案例三:练习
案例四:子类和父类各代码块的执行顺序
二、final关键字
final:最终的,不能被修改的;
final关键字的作用:
- final修饰属性时,必须手动初始化且不能被更改;
- final修饰类时,这个类就不能被继承(即无后代);
- final修饰方法时,可以被继承,但不能重写父类的方法(即方法就不能被覆盖);
public class AnimalDemo {
//1.final修饰属性时,必须手动初始化且不能被更改;
final int age = 8;
//3.final修饰方法时,可以被继承,但不能重写父类的方法(即方法就不能被覆盖);
public final void say(){
System.out.println("动物说话!!");
}
public static void main(String[] args) {
Dog dog =new Dog();
dog.say();
System.out.println(dog.age);
//1.final修饰属性时,必须手动初始化且不能被更改;
// dog.age = 10;
}
}
public class Dog extends AnimalDemo {
//3.final修饰方法时,可以被继承,但不能重写父类的方法(即方法就不能被覆盖);
// public void say(){
//
// }
}
三、static关键字和final关键字联合使用
开发中,一般联合 static 和 final 一起使用表示常量。
eg: static final int SCREEN_WIOTH = 512 ;
常量命名规范:所有的单词都大写,多个单词组成由下划线( _ )连接。
常量的几点说明:
public 让常量在项目中任意位置都可以使用;
加static的目的:让整个项目都共用这一个值,并且项目中可以直接用类名直接访问,不用创建对象
加final的目的:在定义时,把值设置好,让程序中不能更改
public final static 位置顺序随意