AIDE技术官网
AIDEZY.COM

JAVA中的四种访问修饰符区别以及详解

AIDE技术网-aidezy.com
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);
    }
}

JAVA中的四种访问修饰符区别以及详解|public

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

用同样的四个类    来测试protected

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

其他三个无影响

JAVA中的四种访问修饰符区别以及详解|protectet

说明除了跨包  其他均不影响访问

 

private:

JAVA中的四种访问修饰符区别以及详解|private

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

JAVA中的四种访问修饰符区别以及详解

 

default:

JAVA中的四种访问修饰符区别以及详解|default测试结果说明  只能在本包中进行访问  在其他包   即使是继承关系  也无法进行访问

搜一下

赞(0) 打赏
AIDE技术网-aidezy.com 广告
AIDE技术网-aidezy.com 广告

来都来了!评论一下呗! 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (选填)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
切换登录

注册