昆明java培训
达内昆明广州春城路

18487146383

热门课程

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

  • 时间:2016-10-21
  • 发布:昆明Java培训
  • 来源:达内新闻

昆明Java培训机构的老师今天给大家讲java中四种访问修饰符区别及详解。

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

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

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

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

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

访问权限  类  包 子类 其他包

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

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

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

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

以下,昆明Java培训机构的老师用代码进行详解(建四个类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培训官网(km.Java.tedu.cn)!

上一篇:Java培训:sso demo取消https
下一篇:JAVA注释的另一种用法

昆明java培训机构:java未来的发展走向

昆明java培训机构:java学完可以干什么!

昆明java培训机构:如何搞定BAT和华为offer?有这份攻略就够了!

昆明java培训机构:学Java别担心枯燥和无聊

选择城市和中心
贵州省

广西省

海南省

扫一扫

了解更多干货