对于JAVA中访问权限修饰符的理解
来源:互联网 发布:java jasperreports 编辑:程序博客网 时间:2024/06/06 01:00
JAVA中有四个权限修饰符:public,protected,friendly,private
权限限制符的作用范围:
当前类同一包下的不同类子孙类其他包public√√√√protected√√√Xfriendly(默认)√√XXprivate√XXX以上得表格就是权限修饰符的作用范围。记住很简单,记住四个权限修饰符,记住四个作用范围。一交叉就是咯。
什么是权限限制符的作用范围。
我们知道在一个类中,一般有private的属性,和public的方法。
在另一个类中,使用这个类,我们只需要new一个对象,然后就可以调用这个类中的public方法。
简而言之,就是我们可以在什么地方访问到我们的属性,或者方法,这个“什么地方”就是作用范围。
通过两个例子说明一下:
有一个A类:
package cn.com.domain;import org.junit.Test;public class A {public int a = 3;private int b = 4;public int getB() {return b;}public void setB(int b) {this.b = b;}private void fun(){System.out.println("A类中private方法输出private属性 b = :"+b);}@Testpublic void test(){fun();}}
运行结果是:
A类中private方法输出private属性 b = :4
然后我在同一个包下,创建一个B类:
package cn.com.domain;public class B {public static void main(String[] args) {A a = new A();System.out.println("在B类中调用A的public属性 a = :"+a.a);a.setB(2);System.out.println("在B类中调用A中的public方法对B进行赋值:b="+a.getB());/* * 我们知道A中有一个私有的方法fun() */}}
运行结果是:
在B类中调用A的public属性 a = :3在B类中调用A中的public方法对B进行赋值:b=2
对运行结果进行解释:
我们主要的目的是想知道什么是权限限制符的作用范围。
根据那么表我们知道,我这个例子,主要是对public和private进行分析
我们看到,在同一个类下,我们可以访问到当前类中的所有属性,比如A类中的那个private方法,我们输出了private的属性b;
那么我们同时也看到了,在同一个包下,不同类中,就是在B类重对A的访问,只能访问到public的属性,private的属性我们根本访问不了。
同理:如果A类中新增了一个方法,protected void fun2(){...},那么在B类中我们能访问到么?
答案是:能!
那么,如果我们在创建一个包:cn.com.domain1,在这个包下,新建一个类C,在C类中new一个A对象,加入A类中也有protected void fun2(){...},那么我们可以访问到么?
答案是:不能!
这样,我们就可以理解什么是作用范围了!!!
0 0
- 对于JAVA中访问权限修饰符的理解
- 对于java中访问权限的理解与解析
- java 访问权限修饰符理解
- Java中访问权限修饰符
- java中访问权限修饰符问题
- Java中访问修饰符protected的权限
- java 四中修饰符的访问权限
- C#中访问修饰符的权限
- Java语言的访问权限修饰符
- Java语言的访问权限修饰符
- Java的修饰符及访问权限
- java修饰符的访问权限
- java的访问权限修饰符
- Java访问权限修饰符的区别
- Java访问权限修饰符的区别
- Java修饰符指代的访问权限
- 趣味理解java中的访问权限修饰符。
- Java访问权限修饰符浅析及理解误区
- 我与python约个会:01概述
- Android打印机--TSC 标签打印
- ActivityLifecycleCallbacks 代替BaseActivity (扩展Activity的最好方法)
- 发布系统报错,SpringObjectFactory.java:220:-1,解决方法
- 深入理解JavaScript系列(26):设计模式之构造函数模式
- 对于JAVA中访问权限修饰符的理解
- 一种在windows平台下实现自动操作应用的方法,附带源码地址及使用方法
- Tomcat配置文件修改无效自动恢复还原的解决办法总结
- @RequestMapping 用法详解之地址映射
- linux新建weblogic服务流程
- Java Web的编写
- tomcat配置https以及nginx使用ssl模块配置HTTPS
- windows+VS2013+CUDA7.5配置
- Windows多线程指南