JAVA中public、private、protected的区别

java中public、private、protected的区别

在java中通过三个关键字public、private、protected在类的内部来进行边界的设定,这些访问指定词(access specifier)决定了紧跟其后被定义的东西可以被谁访问。

  1. public:表示紧跟其后的成员可以被任何人引用
  2. private:表示紧跟其后的成员除了类型创建者和类型内部的方法,任何人都不可引用,否者程序编译报错
  3. protected:protected关键字与private效果相当,差别仅在于继承的类可以访问protected成员
  4. 默认访问权限(即定义属性时不加任何关键字修饰):默认访问权限通常被称为“包访问权限”,在这种权限下的成员变量可被同一个包中的其他类访问

具体如下:
我们首先按照如下方式创建三个类:Person、Teacher、Animal,其中Person与Teacher类在同一个包person中,Animal类在另一个包animal中

package person;


public class Person {
	public int age;
	String name;
	protected String address;
	private String gender;
}
package person;

public class Teacher extends Person {
	
	public void setInfo() {
		Person per = new Person();
		per.age = 12;//public修饰成员可被任何人访问
		per.name = "Bob";//同一个包中的类可访问默认权限成员
		per.address = "UK";//继承的类可访问protected成员
		per.gender = "man";//ERROR 继承的类无法访问private成员
	}
}
package animal;

import person.Person;

public class Animal {
	public void setInfo() {
		Person per = new Person();
		per.age = 12;//public修饰成员可被任何人访问
		per.name = "Bob";//ERROR 包访问权限成员无法被其他包中的类访问
		per.address = "UK";//ERROR protected成员无法被其他包中的类访问
		per.gender = "man";//ERROR private成员只能被类型创建者及类型内部方法访问
	}

以上内容仅为个人学习记录,如有错误,还请各位大佬指正,谢谢!

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值