1.public protected default private 组

public 权限最大,同类,同包,不同包,同包子类父类之间,不同包子类父类之间都可以访问。

java 默认的权限是default,即friendly(注:friendly 在java中没有,是c的说法。) 同类,同包,同包子类父类都可以访问。

protected受保护的,同类,同包,同包子类父类,不同包子类父类都可以访问

private 私有的权限最小,同类可以访问。

图如下:

位置                           private 默认 protected public 
同一个类                           是        是           是       是 
同一个包内的类                 否        是           是       是 
不同包内的子类                 否        否           是       是 
不同包并且不是子类          否        否           否       是

public 访问权限最高,不论是不是同一个包或是否是子类 都可以访问 
protected 其次只有是不同包且不是子类的无法访问外,其它均可 
默认级别 次之,要求只能是同一个包中的类才能访问 
private 只能是同一个类才能访问

这些修饰符可以修饰方法或者属性,但是类只能用public 或者不写.

实例:

package test;

//访问修饰符的使用
public class PublicClass{

public String publicVariable = "publicVariable" ;
         private String privateVar = "private var";
         protected String protectedVar ="protected var";
         String defaultVar="defaultVar";

public void showPublic(){
                   System.out.println("showPublic method!");
              }

public void showProtected(){
                   System.out.println("Show protected method!");
              }

void showDefault(){
                   System.out.println("Show default method!");
              }

private void showPrivate(){
                   System.out.println("Nobody will access!");
              }

}

Java代码 
package test;    
   
//import test.PublicClass;    
class TestPublic{    
         private String var =" private variable in class-Test!";    
             
         public static void main(String args[]){    
                    TestPublict = new TestPublic();    
                    PublicClass pClass = new PublicClass();    
                   //另外一个类中的共有属性和方法是可以被外界所访问的    
                    System.out.println("可以访问到的资源属性:"+pClass.publicVariable);//可访问    
                    pClass.showPublic();       // 可访问    
                   //以下两条编译错误,在另外一个类中的私有方法是访问不到的         
                   //System.out.println("可以访问到的资源属性:"+pClass.privateVariable );      //不能访问    
                 //    pClass.showPrivate();        //不能访问    
                //私有变量自己可以访问    
                  System.out.println("私有变量自己可以访问"+t.var);    
                  //protected 成员可以被该类的成员和子类的成员访问。    
                  // 还可以被同一个包中内的其他类成员访问    
                  System.out.println("可以访问到的资源属性:"+pClass.protectedVar);//可访问    
                  pClass.showProtected();//可访问    
                  System.out.println("可以访问到的资源属性:"+pClass.defaultVar);//可访问    
                  pClass.showDefault();//可访问    
               }    
      }

java 修饰符的作用一(public protected default private 组)的更多相关文章

  1. java四种权限修饰符(public > protected > (default) > private)

    权限修饰符在哪里可以访问 (default) : 表示什么权限修饰符都不写 位置 public protected (default) private 同一个类 yes yes yes yes 同一个 ...

  2. 【java基础】(1)Java的权限修饰符(public,protected,default,private)

    访问权限修饰符权限从高到低排列是public  ,protected  ,default, private. 一.根据“是否是同包”.“是否是子类”分为4中情况+本类 5种情况 二.把 同包中的子类 ...

  3. 详解Java中的访问控制修饰符(public, protected, default, private)

    Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获 ...

  4. java 访问修饰符:public protected default private

  5. public protected default private

    简单来说,如果让一个变量或者方法,只想让自己类中的访问,那么就将它们设置成private 如果你想让一个变量或者方法,本包中的类可以访问,而且子类也可访问,但是包外的缺不想让他访问.就设置成prote ...

  6. java修饰符的权限范围

    java有四个修饰符,分别为public/protected/default/private,这四个修饰符的权限范围是不一样的. public修饰的成员,在同类.同包.子类(继承自本类).其他包中都可 ...

  7. java修饰符public final static abstract transient

    JAVA 修饰符public final static abstract transient  关键字: public final static abstract ...  1.public prot ...

  8. Java修饰符 public、protected、default、private

    2.访问修饰符public,private,protected,以及不写(默认)时的区别?答: 修饰符 当前类 同 包 子 类 其他包 public √ √ √ √ protected √ √ √ × ...

  9. java修饰符 protect public protected

    1.private修饰词,表示成员是私有的,只有自身可以访问: 2.protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员(子类是可以访问父类的带protected修饰符的成员的 ...

随机推荐

  1. Phonegap(Cordova)3.4 + Android 环境搭建

               PhoneGap是一个用基于HTML.CSS和JavaScript的,创建移动跨平台移动应用程序的高速开发平台. 它使开发人员可以利用iPhone,Android,WP7等多 ...

  2. [CodeForce]358D Dima and Hares

    有N<3000只宠物要喂,每次只能喂一只,每喂一只宠物,宠物的满足度取决于: 1 紧靠的两个邻居都没喂,a[i] 2 邻居中有一个喂过了,b[i] 3 两个邻居都喂过了,c[i] 把所有宠物喂一 ...

  3. 观察者模式-Observer

    观察者模式很好理解,简单来说就是:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的关系. 1. 自己手工创建Observer模式 首先,创建观察者接口: pub ...

  4. Java基础知识强化之集合框架笔记33:Arrays工具类中asList()方法的使用

    1. Arrays工具类中asList()方法的使用 public static <T> List<T> asList(T... a): 把数组转成集合 注意事项: 虽然可以把 ...

  5. 第六篇:python高级之网络编程

    python高级之网络编程   python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及 ...

  6. css 图片平铺

    背景图尺寸(数值表示方式): #background-size{ background-size:200px 100px; } 背景图尺寸(百分比表示方式): #background-size2{ b ...

  7. ASP.NET MVC 第四回 向View传值

    一.ViewData与TempData属性来向View页传递对象 上文中已经提到,使用ViewData可以将数据由Controller传递到View 在前文中我们建立了EiceController类  ...

  8. 2.添加键盘钩子。向进程中注入dll

    学习笔记 1.首先要建立mfc的动态链接库.在def文件中放入要导出的函数名. 2.添加函数如下 //安装钩子 //HHOOK SetWindowsHookEx( // int idHook,//钩子 ...

  9. MVC4将Controller与views分开

    最近自己在要着手从头做一个项目,自己想把mvc里的view和controller文件分别写在不同的项目里,刚开始在网上找了下,可是不尽理想,最后翻了一下自己以前参加的项目找到了这个做法. 这个需要在G ...

  10. Axure RP 8.0正式版下载地址 安装和汉化说明

    1.Axure RP和中文包包下载地址 官网地址:http://www.axure.com.cn/3510/ 2.下载完成后安装 3.破解 axure8.0注册码激活码:(亲测可用)用户名:aaa注册 ...