Skip to content

Commit 3564400

Browse files
authored
Merge pull request #2676 from flying-pig-z/patch-4
feat:修复java-keyword-summary文档的一些错误
2 parents c799c14 + 466441a commit 3564400

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

docs/java/basis/java-keyword-summary.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ super 关键字用于从子类访问父类的变量和方法。 例如:
5454
```java
5555
public class Super {
5656
protected int number;
57-
protected showNumber() {
57+
protected void showNumber() {
5858
System.out.println("number = " + number);
5959
}
6060
}
@@ -199,7 +199,7 @@ public class Singleton {
199199
```java
200200
//将Math中的所有静态资源导入,这时候可以直接使用里面的静态方法,而不用通过类名进行调用
201201
//如果只想导入单一某个静态方法,只需要将*换成对应的方法名即可
202-
import static java.lang.Math.*;//换成import static java.lang.Math.max;具有一样的效果
202+
import static java.lang.Math.*;//换成import static java.lang.Math.max;即可指定单一静态方法max导入
203203
public class Demo {
204204
public static void main(String[] args) {
205205
int max = max(1,2);
@@ -250,7 +250,7 @@ bar.method2();
250250
不同点:静态代码块在非静态代码块之前执行(静态代码块 -> 非静态代码块 -> 构造方法)。静态代码块只在第一次 new 执行一次,之后不再执行,而非静态代码块在每 new 一次就执行一次。 非静态代码块可在普通方法中定义(不过作用不大);而静态代码块不行。
251251

252252
> **🐛 修正(参见:[issue #677](https://github.com/Snailclimb/JavaGuide/issues/677)**:静态代码块可能在第一次 new 对象的时候执行,但不一定只在第一次 new 的时候执行。比如通过 `Class.forName("ClassDemo")`创建 Class 对象的时候也会执行,即 new 或者 `Class.forName("ClassDemo")` 都会执行静态代码块。
253-
> 一般情况下,如果有些代码比如一些项目最常用的变量或对象必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的。如果我们想要设计不需要创建对象就可以调用类中的方法,例如:`Arrays` 类,`Character` 类,`String` 类等,就需要使用静态方法, 两者的区别是 静态代码块是自动执行的而静态方法是被调用的时候才执行的.
253+
> 一般情况下,如果有些代码比如一些项目最常用的变量或对象必须在项目启动的时候就执行,需要使用静态代码块,这种代码是主动执行的。如果我们想要设计不需要创建对象就可以调用类中的方法,例如:`Arrays` 类,`Character` 类,`String` 类等,就需要使用静态方法, 两者的区别是 静态代码块是自动执行的而静态方法是被调用的时候才执行的.
254254
255255
Example:
256256

0 commit comments

Comments
 (0)