标签:
Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。
private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
同一个类 |
同一个包 |
不同包的子类 |
不同包的非子类 |
|
Private |
√ |
|||
Default |
√ |
√ |
||
Protected |
√ |
√ |
√ |
|
Public |
√ |
√ |
√ |
√ |
package com.samsung.wx; public class Spoon { private static void printArrayPrivate(String... args){ for(String obj: args){ System.out.print(obj.toString()); } System.out.println(); } public static void printArrayPublic(String... args){ for(String obj: args){ System.out.print(obj.toString()); } System.out.println(); } protected static void printArrayProtect(String... args){ for(String obj: args){ System.out.print(obj.toString()); } System.out.println(); } static void printArrayDefault(String... args){ for(String obj: args){ System.out.print(obj.toString()); } System.out.println(); } }
在另一个包中调用Spoon的方法,只有public方法可以被调用:
package com.samsung.wx2; import com.samsung.wx.Spoon; public class Test { public static void main(String[] args) { Spoon.printArrayPublic("public"); } }
创建一个类SubSpoon继承Spoon(和Spoon在不同包中), 可以在SubSpoon中调用Spoon的protect方法:
package com.samsung.wx2; import com.samsung.wx.Spoon; public class SubSpoon extends Spoon{ public SubSpoon() { Spoon.printArrayProtect("protect"); } }
标签:
原文地址:http://www.cnblogs.com/wxlovewx/p/5189950.html