java关键字总结_Java关键字总结

一、final

final修饰类,类不可被继承。

The type FinalB cannot subclass the final class FinalA

译:FinalB类型不能将最终类FinalA子类化

3f4acbb4711aa8a9f69051441c39fb5d.png

final修饰变量,变量必须被初始化,且初始化后,变量不可被修改。

从下面的例子可以得知即使是基本类型,也需要初始化。

The blank final field c may not have been initialized

空白的最终字段c可能尚未初始化

cf6c1a73024ff36613b61622a8dd7453.png

The final field FinalC.c cannot be assigned

无法分配最终字段FinalC.c

fc42527c946d6635b2fcb12623596785.png

final修饰方法,类被继承后方法不可重写。

Cannot override the final method from FinalD

译:无法覆盖FinlanD的最终方法

a894718eebb0376a25f7428bfdd0e564.png

final还可在方法中作为局部变量使用,可在参数中修饰,也可在方法体中修饰

faa31cbaf2a2dd2a3f78a3ec392945aa.png

final的错误使用

083b233e8ed0251a06ffac98f7ea363c.png

final的正确使用

850d45f2eb138841ddc9efb4bef0d4fb.png

fe034197178594f1c6421d735ac51b3d.png

在方法中,final修饰的局部变量作为参数传递进入另一个方法体,是可修改的,两者作用域不一样。

在方法(非构造方法)中,没有显示调用super.sex()无法进入父类中同样的方法,这是重写。

二、static

static不能修饰类,修饰类的只有public、abstract和final

Illegal modifier for the class A; only public, abstract & final are permitted

(对于类对象)类A的非法修饰符; 只允许public,abstract和final

35b8fa8bd118375cec4da52e8be23c35.png

static修饰变量,该变量可在static初始静态块中初始化变量。

static初始化静态块不能初始化非静态变量。不能通过类对象直接调用非静态变量

Cannot make a static reference to the non-static field age

(在静态初始块中初始化非静态对象或直接使用类对象(非对象实例)调用非静态方法)无法对非静态字段age进行静态引用

a91ed0a83725e04491bb7db0dda147f6.png

db8ef53dbc9ce4ffd6ab79f42b23c823.png

在方法内部,static不能修饰局部变量,局部变量只能使用final修饰。

Illegal modifier for parameter num; only final is permitted

(方法内部)参数num的修饰符非法; 只有final是被允许的

eab040d048650d7faadaa2d9060d40db.png

类对象无法直接调用非静态方法

Cannot make a static reference to the non-static method print() from the type A

无法对类型A的非静态方法print()进行静态引用

4029a6753d273ee0d44a3d54ff9bc99b.png

当类中没有定义构造方法,系统会为类提供一个默认的无参构造方法,无参构造方法会调用super();

无论是显示调用还是隐式调用或者自定义构造方法,系统都会默认在进入构造方法之初调用super(),初始化父类的静态块。

b5057569437e57253750635b4c6fde66.png

85792338cebec8a5c03bfdab71e95c8c.png

2610f34bece5984d86a54962fcd793e4.png

f021f1d0d8142eaed04c11747e0b2b85.png

21c533f73f2335913de2c2271123b83b.png

根据结果可得知,当继承一个带有静态初始块对象时,会先执行父类的静态初始块。

在未产生对象之前,构造方法不会初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值