你的位置:首页 > Java教程

[Java教程]java中四种访问修饰符区别及详解全过程


  客户端程序员:即在其应用中使用数据类型的类消费者,他的目标是收集各种用来实现快速应用开发的类。

  类创建者:即创建新数据类型的程序员,目标是构建类。  

  访问控制存在的原因:a、让客户端程序员无法触及他们不应该触及的部分  ; b、允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员

    java的四个关键字:public、protected、default、private(他们决定了紧跟其后被定义的东西可以被谁使用)

适用范围<访问权限范围越小,安全性越高>

      访问权限   类   包  子类  其他包

        public     ∨   ∨    ∨     ∨          (对任何人都是可用的)

        protect    ∨   ∨   ∨     ×    (继承的类可以访问以及和private一样的权限)

        default    ∨   ∨   ×     ×    (包访问权限,即在整个包内均可被访问)

        private    ∨   ×   ×     ×    (除类型创建者和类型的内部方法之外的任何人都不能访问的元素)

以下,用代码进行详解(建四个类 Person Student Teacher Parents 和一个测试类)

package com.zq.demo.test1;
/**
 * 类内
 * @author Administrator
 */
public class Person {
    public String uname = "王五";
    
    public void introduceMyself(){               
        System.out.println(uname);            
    }
}

package com.zq.demo.test1;
//同一个包
public class Student {
        Person p =  new Person();
    public void test(){
        System.out.println(p.uname);
    }
}

package com.zq.demo.test1;
//子类
public class Teacher extends Person{
    public int age;
    Person p = new Person();
    public void test1(){
        System.out.println(p.uname);
    }
}
package com.zq.demo.test2;
//不同包
import com.zq.demo.test1.Person;

public class Parents {
    public String uname = "haha";
    Person p = new Person();
    public void test2(){
        System.out.println(p.uname);
    }
}

              测试类的结果  显示public在上述均能访问到

 

用同样的四个类    来测试protected

在将Person中的uanme改为protected后   类Parents便报错了   The field Person.uname is not visible  (说明不能跨包)

其他三个无影响

只有本类中可以访问 但是借助在Person类中有关uname的set、get方法便可以进行访问

default

英国旅游护照签证英国旅游路线报价费用英国旅游哪里好玩呢英国旅游签证怎么办理英国旅游去哪好光谷步行街游逛指南 2015宝趣玫瑰园有什么花?广州从化宝趣玫瑰园花好看吗? 2015宝趣玫瑰园花开放了吗?广州从化宝趣玫瑰园几月花开的最好? 2015宝趣玫瑰园什么时候去最好看?广州从化宝趣玫瑰园花期? 武夷邵武二日游 泡汤要趁好时光 珠海美食有什么? 第一次来武汉 不能错过的八个地方 北京颐和园周边住宿有哪些? 卢森堡旅游买什么特色纪念品好? 去香港旅游过关注意事项 香港旅游怎么坐舢板船 台湾跟团旅游注意事项 伊泰莲娜官网,伊泰莲娜diy地带官方网站。 盘龙峡门票是多少? 德庆盘龙峡薰衣草开放时间?盘龙峡好不好玩? 德庆盘龙峡薰衣草木屋住宿?德庆盘龙峡住宿方便吗? TPS615(F) Datasheet TPS615(F) Datasheet TPS622 Datasheet TPS622 Datasheet TPS622(F) Datasheet TPS622(F) Datasheet 文莱在哪 文莱在哪 文莱在哪 武汉的大学有哪些 武汉的大学有哪些 武汉的大学有哪些 顺德特产 顺德特产 顺德特产