Java訪問修飾符總結
今天我分享一下我學習訪問控制符的心得。
實現封裝,需要使用訪問修飾符。
我通過訪問控制級別的從小到大的順序一一說說我對訪問修飾符的理解。
總:修飾符有private protected public
一:private代表的訪問控制級別(修飾符爲private)。
通過private修飾符修飾的成員變量,方法,構造器只能在當前類的內部被訪問,private修飾對象的狀態信息能很好的實現封裝。下面通過代碼來演示private訪問控制修飾符。
代碼演示:
<pre name="code" class="java">class TestOne {
// 定義一個private修飾的實例變量
private int a;
}
public class Test {
public static void main(String args[]) {
TestOne test = new TestOne();
/*
* 在Tset類中通過通過實例test訪問TestOne類中被private修飾的實例變量a時,將出現編譯錯誤
*/
test.a = 10;
}
}
二:default代表的訪問控制級別。(無修飾符)
此級別沒有訪問控制符,當成員變量,方法,構造器前沒有任何訪問修飾符時,默認就是default訪問控制級別,該訪問控制級別控制的成員,只能被同一個包下的其他類訪問。
代碼演示:
代碼演示:
1:
<pre name="code" class="java">package test;
public class Test {
// 定義一個default訪問控制級別的實例變量
int a = 10;
}
package test;
public class TestThree {
public static void main(String args[]) {
Test test = new Test();
// default訪問控制級別的實例變量在同一個包下的他類中被訪問
System.out.println(test.a);
}
}
2:
<pre name="code" class="java">package test;
public class Test {
// 定義一個default訪問控制級別的實例變量
int a = 10;
}
package testone;
import test.Test;
public class TestTwo {
public static void main(String args[]) {
Test test = new Test();
// default訪問控制級別的實例變量在不同包下的他類中不可以被訪問,將出現編譯錯誤
System.out.println(test.a);
}
}
三:protected代表的訪問控制級別(修飾符爲protected)
protected修飾符修飾的成員變量,方法,構造器。可以被同一個包下的其他類訪問,也可以被不同包下的子類訪問。
代碼演示:
1:被同一個包下的其他類訪問
</pre><pre name="code" class="java">package test;
public class Test {
// 定義一個protected訪問控制修飾符修飾的實例變量
protected int a = 10;
}
package test;
public class TestThree {
public static void main(String args[]) {
Test test = new Test();
// protected訪問控制修飾符修飾的實例變量可以被同一個包下的他類中被訪問
System.out.println(test.a);
}
}
2:被其他包下的子類訪問
<pre name="code" class="java">package test;
public class Test {
// 定義一個protected訪問控制修飾符修飾的實例變量
protected int a = 10;
}
package testone;
import test.Test;
public class TestTwo extends Test {
public static void main(String args[]) {
TestTwo test = new TestTwo();
// protected訪問控制修飾符修飾的實例變量在不同包下的子類中可以被訪問
System.out.println(test.a);
}
}
四:public代表的訪問控制級別(修飾符爲public)
public修飾的成員變量,方法,構造器,可以被任何包下的任何類所訪問。
修飾外部類只可以使用public或默認訪問控制,因爲priavte和protected修飾的實在類的內部和子類中被訪問,外部類不在任何類的內部。