ok了家人们今天学习了一些关键字,用法和注意事项,静态代码块这些知识,闲话少叙我们一起看看吧。
一,final关键字
1.1 final关键字的概述
final: 不可改变。可以用于修饰类、方法和变量。
类:被修饰的类,不能被继承。
方法:被修饰的方法,不能被重写。
变量:被修饰的变量,就只能赋值一次,不能被重新赋值。
1.2 final关键字的使用
1.2.1 修饰类
父类
子类继承
Fu类被final修饰了,不能继承。
我们学习过的类,都是被final修饰的,目的就是供我们使用,而不让我们所以改变其内容。
1.2.2 修饰方法
final修饰show()方法。
父类的show()方法被final修饰了,不能继承。
1.2.3 修饰变量
被final修饰的常量名称,一般都有书写规范,所有字母都大写
final修饰的常量只能赋值一次。
引用类型的局部变量,被final修饰后,只能指向一个对象。但是不影响对象内部的成员变量值的修
改
定义Users类,成员变量有name和age两个。
调用setName方法可以改变值。
成员变量
成员变量涉及到初始化的问题,初始化方式有两种,只能二选一:
显示初始化;
构造方法初始化:
二,static关键字
2.1 static关键字概述
static关键字:静态的意思 , 可以修饰变量 , 也可以修饰方法 , 被static修饰的成员 , 我们叫做静态成员
static关键字特点
静态成员被所类的所有对象共享
可以通过对象调用 , 也可以通过类名调用 , 建议使用类名
可以用类名.变量名和对象名.变量名
static关键字使用场景
静态变量:当程序中的某个数据需要共享时使用static
修饰静态方法:工具类
2.2 static关键字注意事项
静态方法中只能调用静态成员
非静态方法中可以调用任何成员
可以看到静态成员method()可以调用静态成员show(),run()非静态成员可以调用静态成员show()
在看一个错误示范
我们去掉show()方法static的修饰后,出现了报错,
这是静态方法method()调用了非静态show方法所导致的。
2.3 静态代码块
三种代码块{ 代码块 }, 其中两种没有使用价值
了解:局部代码块 方法中
了解:构造代码块 写在类中,创建对象的时候运行
掌握:静态代码块 写在类中, static{} 在使用类的成员的时候,仅仅执行一次
用了一个局部代码块和一个静态代码块
在main方法中定义一个常量a=10,创建两个对象,看下控制台
可以看到使用static{}的代码只被执行了一次。
ok了家人们,明天见,好饿~