Java中static、final修饰符、对常量变量的总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java中static、final修饰符、对常量变量的总结
定义:static修饰的属性就叫静态属性;如果类的某个属性,不管创建多少个对象,属性的存储空间只有唯⼀的⼀个,那么这个属性就应该⽤static修饰
作⽤:
特点:静态属性是类的所有对象共享的,即不管创建了多少个对象,静态属性在内存中只有⼀个
定义:static修饰的⽅法称为静态⽅法;如果某个⽅法不需要与某个特定的对象绑定,那么该⽅法可以使⽤static修饰
作⽤:
特点:任何⽅法都,需要创建对象后⽤对象名调
应⽤场景:如果某个⽅法与实例⽆关,也就是说不管哪个对象调⽤这个⽅法,都执⾏相同的操作,则应该定义为静态⽅法,就不需要创建对象后再使⽤该⽅法
例如:API中的Math类,都是静态⽅法,因为进⾏数学运算时,与Math对象本⾝⽆关,使⽤类直接调⽤即可
定义:⽤static修饰的代码块表⽰静态代码块,当Java虚拟机加载类时,就会执⾏该代码块
语法:直接在代码块{...}前加上static就变成静态块、static {}
作⽤:,不管创建多少个对象,都不会再执⾏;⼀个类中可以有多个静态块,按照顺序执⾏。
应⽤场景:如果⼀个类加载的时候,总要预先做⼀些事情,则可以放在静态块中,例如,读取⼀个属性⽂件,进⾏⼀些常规配置,写⼀些⽇志等。
static内部类
例外:
作⽤:⽤于声明属性,⽅法和类
类:不能被定义为抽象类或是接⼝,不可被继承
属性:定义就必须直接赋值或者在构造⽅法中进⾏赋值,并且后期都不能修改
⽅法:定义必须有实现代码,并且⼦类⾥不可被覆盖
特点:
(按作⽤于区分)
0
1package summary3;
2
3
4final class Final //创建⼀个final类、不能被定义为抽象类或是接⼝,不可被继承
5 {
6final void Final() //创建⼀个final⽅法:不能被覆写,只能被继承
7 {
8
9 }
10 }
11public class FeatureModifier
12 {
13 { //这是⼀个块:每次调⽤构造⽅法是被调⽤
14 System.out.println("块每次调⽤构造⽅法的时候就会被调⽤");
15 }
16static//这是⼀个静态块:只有加载主类时被调⽤
17 {
18 System.out.println("静态块每次加载类的时候就会被调⽤");
19 }
20
21final int j; //声明⼀个final属性、基本数据类型值变为常量不能修改
22 FeatureModifier(int i) //创建带有⼀个参数的构造⽅法
23 {
24this.j=i; //final属性必须在声明时赋值、或者在构造⽅法⾥赋值
25 }
26
27static class Static //static修饰的类只能是内部类
28 {
29static int i; //声明static属性,可以⽤对象或者类名直接调⽤
30static void mehtod() //可以⽤类名直接调⽤、任何⽅法都可以直接调⽤静态⽅法
31 {
32 System.out.println("这是⼀个静态⽅法"+i);
33 }
34
35 }
36public static void main(String[] args) //加载类时会调⽤块
37 {
38 FeatureModifier FM1 = new FeatureModifier(0); //每⼀次调⽤构造⽅法时都会调⽤块
39 FeatureModifier FM2 = new FeatureModifier(1); //每⼀次调⽤构造⽅法时都会调⽤块
40 Static.i = 10;
41 Static.mehtod();
42 }
43 }。