Skip to content

Commit 4b9d118

Browse files
author
lanyuanxiaoyao
committed
修改文件: _posts/2017-04-15-modifier.md
1 parent f19f570 commit 4b9d118

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

_posts/2017-04-15-modifier.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ Private 访问修饰符的使用主要用来隐藏类的实现细节和保护类
4949
- 父类中声明为 private 的方法,不能够被继承。
5050

5151
如下图,b类中的A方法范围比a类中的A方法访问权限范围更大
52-
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/84824545-file_1492238954686_d9a4.png)
52+
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/84824545-file_1492238954686_d9a4.png)
5353
如下图,如果b类中的A方法的修饰符改为private,那么就会报错
54-
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/69705924-file_1492239061720_337b.png)
54+
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/69705924-file_1492239061720_337b.png)
5555

5656
# 非访问修饰符
5757
为了实现一些其他的功能,Java 也提供了许多非访问修饰符。
@@ -69,29 +69,29 @@ static关键字用来声明独立于对象的静态方法。静态方法不能
6969

7070
对类变量和方法的访问可以直接使用 classname.variablename 和 classname.methodname 的方式访问。
7171
如下图,main方法中可以直接访问静态变量`s`和静态方法`print()`
72-
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/4876772-file_1492239938570_72fa.png)
72+
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/4876772-file_1492239938570_72fa.png)
7373
事实上通过类名来访问该类中的静态变量之外,事实上类的实例也可以调用,如下图的写法也是正确的,尽管Java会给一个警告,因为Java不倡导大家这样使用:
74-
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/12099555-file_1492239938679_29f1.png)
74+
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/12099555-file_1492239938679_29f1.png)
7575

7676
## final
7777
final可以修饰类/方法/变量,具体规则如下
7878
### final 变量
7979
final 变量能被显式地初始化并且只能初始化一次。被声明为 final 的对象的引用不能指向不同的对象。但是 final 对象里的数据可以被改变。也就是说 **final 对象的引用不能改变,但是里面的值可以改变**
8080
**举例**
8181
当我们试图更改final变量的值时候,Java会报错
82-
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/17188853-file_1492240334960_175d.png)
82+
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/17188853-file_1492240334960_175d.png)
8383
同样的,接下来的这个例子也会报错
84-
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/90587236-file_1492240694369_5f2f.png)
84+
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/90587236-file_1492240694369_5f2f.png)
8585
但是对`value`中的值可以随意改变
86-
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/90165029-file_1492240764709_15c5c.png)
86+
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/90165029-file_1492240764709_15c5c.png)
8787
final 修饰符通常和 static 修饰符一起使用来创建类常量。
8888
### final 方法
8989
类中的 final 方法可以被子类继承,但是不能被子类修改。
9090
声明 final 方法的主要目的是防止该方法的内容被修改。
9191
如下图,a类中的`final A()`方法可以被b类继承
92-
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/52182757-file_1492241013395_1415b.png)
92+
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/52182757-file_1492241013395_1415b.png)
9393
但是当我们试图在b类中重写`final A()`时候,Java会报错
94-
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/78514708-file_1492241101451_12105.png)
94+
![](http://olwt21mf4.bkt.clouddn.com/17-4-15/78514708-file_1492241101451_12105.png)
9595
### final 类
9696
final 类不能被继承,没有类能够继承 final 类的任何特性。
9797

0 commit comments

Comments
 (0)