美文网首页
java中四种访问修饰符区别及详解全过程

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

作者: 不喜欢吃香蕉的猴子 | 来源:发表于2016-10-20 16:19 被阅读0次

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

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

访问控制存在的原因: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  (说明不能跨包)

其他三个无影响

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

private

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

default

测试结果说明  只能在本包中进行访问  在其他包   即使是继承关系  也无法进行访问

相关文章

  • java中四种访问修饰符区别及详解全过程

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

  • LESDO 面试

    1.java基础 数据结构 类的四种访问修饰符及其区别和作用 2.Rxjava 操作符及了解的全部 3.内存泄露有...

  • Java自学-类和对象 访问修饰符

    Java的四种访问修饰符 成员变量有四种修饰符private 私有的package/friendly/defaul...

  • kotlin-2-类

    1、kotlin 可见性修饰符 Java有四种: public:包内及包外的任何类均可以访问 protected:...

  • Java知识之修饰符

    Java中的修饰符 Java中的修饰符主要分为两类: 访问控制修饰符 非访问控制修饰符 访问控制修饰符分: pub...

  • 每日一题:Java 访问修饰符详解

    访问修饰符定义了类、属性和方法的访问权限,Java 中包含四种,访问权限从小到大为 private、default...

  • Java类访问权限

    1 类访问权限 1.1 四种访问权限解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private...

  • 2019-02-12——Java 修饰符

    在Java中,修饰符分为四种: public protected default private 关于四种修饰符的...

  • 快速上手 Kotlin 开发系列之伴生对象

    本节将介绍 Kotlin 中的访问修饰符、伴生对象以及推荐单例的写法。 访问修饰符 在 Kotlin 中有四种访问...

  • Java的访问修饰符

    Java中的访问修饰符定义了变量,方法,构造函数或类的可访问性(范围)。Java中有4种访问修饰符: Public...

网友评论

      本文标题:java中四种访问修饰符区别及详解全过程

      本文链接:https://www.haomeiwen.com/subject/oygfuttx.html