final关键字和static关键字

Posted maomaodesu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了final关键字和static关键字相关的知识,希望对你有一定的参考价值。

final关键字:最终态——修饰成员变量,成员方法,类

final修饰变量:

基本类型变量:该变量为常量不能被赋值

引用类型变量:该地址不能被概变

final Student s = new Student();
s.age = 100;
//输出100
//s是个地址,final挂在了s头上,这个地址不能变了,但是地址指向的age内容可以变。
如果:
s = new Student();//则报错,s这个地址已经被final修饰不可以变化

final修饰方法:该方法最终方法不可被重写

final修饰类:该类为最终类,不能被继承

补充知识——常量:

字面值常量

int a = 10;
a = 20;
a变了是个变量,10没变,10是字面值常量
3.1415926比较复杂,是字面值常量不好记。
能不能给这个常量起个名字?
double PI = 3.1415926,但是PI可以随意被更改,下次使用可能已经被更改,因此

自定义常量

final double PI = 3.1415926;
这个PI就是自定义常量了,永久保存,永远变不了。

static:静态

静态变量:

public Student{
public static String University;
}
Student.University = "PKU";//建议通过类名来访问,它是跟着类走的

静态方法:

静态成员方法内只能访问静态成员(静态成员变量和静态的成员方法)
静态不能直接访问非静态的,因为静态的在创建对象之前就初始化完毕,但是此时非静态的成员还未进行初始化。
Main方法是静态的,它最先跟着class文件进入内存。

静态方法当中,可以调用静态变量。

静态变量推荐使用的方式就是————类名.静态成员变量名称。
对象名称.静态成员变量名称是可以的,
不管是否是静态成员变量,都可以采用对象调用

以上是关于final关键字和static关键字的主要内容,如果未能解决你的问题,请参考以下文章

Java的static和final关键字的用法

static final 关键字

static关键字和final关键字

Java基础_final和static区别

Java基础 -- 关键字Static和Final

java中static与final关键字归纳总结