码迷,mamicode.com
首页 > 编程语言 > 详细

Java中的访问权限解析

时间:2017-06-07 23:14:31      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:size   default   语言   技术   个人总结   system   imp   java   ted   

在Java中不同的对象和类拥有不同的访问权限,所以在java中对不同的类和对象进行权限的设置显得尤为重要.

java中的权限主要分为四种,public,protect,private,和default在声明类和对象的时候如果没有注明权限则为默认的即(default).下面将对这四种权限仅向简单的解析,部分为网上博主的总结再加上个人总结

1.权限解析
Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。
private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
1. default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。
2. protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
3. public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
下面用表格的形式来展示四种访问权限之间的异同点,这样会更加形象。表格如下所示:
 
 
技术分享

注:在进行权限记忆的时候直接记忆这个图会好很多.

源文档 <http://www.cnblogs.com/wxlovewx/p/5189950.html>
2.代码应用
 
创建一个Test类:
package com.zrb.test1;
public class Test{
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();
}
}

在另一个包中调用Test的方法,只有public方法可以被调用:

 

package com.zrb.test2;
import com.zrb.test;
public class Test {

public static void main(String[] args) {
Spoon.printArrayPublic("public");

}
}

创建一个类SubSpoon继承Spoon(和Spoon在不同包中), 可以在SubSpoon中调用Spoon的protect方法:

 

package com.zrb.test2;
import com.zrb.test;
public class SubTest extends Test{

public SubSpoon()
{
Spoon.printArrayProtect("protect");
}
}

故:在代码中出现获取数值异常,或者是获取不到类时可以看下是否是权限设置的问题.

本博文仅代表个人观点,欢迎讨论,不喜勿喷,Thanks.

Java中的访问权限解析

标签:size   default   语言   技术   个人总结   system   imp   java   ted   

原文地址:http://www.cnblogs.com/Itbin/p/6959462.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!