原创

Java关键字-final、this和static


关键字:

关键字是由小写字母组成的被Java作为特定含义的单词

Final的特点

  • 修饰变量,则该变量转变成为常量,程序不能进行重新(二次)赋值
  • 修饰方法,则该方法无法被子类进行重写,但是可以被子类继承
  • 修饰类,则该类无法被继承
  • 修饰对象,则该对象无法改变其堆空间的地址值

final修饰变量的问题:

  1. 被final修饰的变量允许赋值一次
  2. 赋值一次的前提必须是在初始化(构造方法/构造代码块)完成之前(非静态)

this关键字

this关键字主要有三个应用:

(1)this调用本类中的属性,也就是类中的成员变量;
(2)this调用本类中的其他方法;
(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。

static关键字

静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法。静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同。

static 的内存分配

静态变量属于类,不属于任何独立的对象,所以无需创建类的实例就可以访问静态变量。编译器只为整个类创建了一个静态变量的副本,也就是只分配一个内存空间,虽然有多个实例,但这些实例共享该内存。实例变量则不同,每创建一个对象,都会分配一次内存空间,不同变量的内存相互独立,互不影响,改变 a 对象的实例变量不会影响 b 对象。

java
  • 作者:陌攻(联系作者)
  • 发表时间:2023-02-10 08:15
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 公众号转载:请在文末添加作者公众号二维码
  • 评论