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成员只能被类型创建者及类型内部方法访问
	}
### 回答1: 在Javaprivatepublic是访问修饰符,用于限制类、变量、方法等的访问范围。 private只允许在当前类访问,不能被其他类访问。 public可以被任何地方访问。 一般情况下,我们用private修饰类的私有变量和私有方法,用public修饰类的公有方法。这样可以增强类的封装性和安全性。 ### 回答2: Java是一门面向对象的编程语言,它具有封装、继承、多态等特性。而privatepublicJava两种访问修饰符,分别用于控制类的成员变量和方法的访问权限。 首先,private表示私有的,只能在当前类访问,其他类和对象都无法直接访问。通常我们会将私有成员变量和方法用于封装数据和保护内部实现细节,防止外部类或者对象对其进行非法访问,提高程序的安全性和可维护性。 其次,public表示公共的,可以被任何类和对象访问。通常我们会将公共成员变量和方法用于提供对外部类或者对象的接口,使得外部可以访问类的状态和行为。 综上所述,privatepublic区别主要在于访问权限的不同,private用于保护内部实现细节和数据,public用于提供对外接口和共享数据和方法。在编写Java代码时,我们需要根据需求选择合适的访问修饰符,以确保程序功能的正确性和安全性。同时,我们也需要注意访问权限的合理性和稳定性,避免因权限不当造成的安全问题或程序错误。 ### 回答3: Java是一种面向对象的编程语言,它支持访问控制修饰符,其包括publicprivate两种访问修饰符。publicprivate修饰符可以用来控制类的访问权限和类的成员(属性和方法)的访问权限。以下是对Javapublicprivate之间的区别的详细解释: 1.访问级别 Publicprivate都是访问控制修饰符,在Javapublic修饰符表示成员(属性和方法)可以从所有类访问,而private修饰符表示成员只能从同一个类访问。 2.应用领域 Public修饰符被广泛使用,用于在公共接口声明类的公共部分。公共方法和属性通常被设计成可以由外部类的其他类直接访问。private修饰符通常用于在类的内部实现私有方法和属性。这样可以保证只有该类的实例可以访问这些私有成员。 3.安全性 Private修饰符被认为是一种安全机制,因为它防止外部对象直接访问受保护的成员。这种安全性是被Java编译器严格执行的。使用private修饰符可以保护数据的完整性,因为只允许类的内部方法来访问该数据。相反,如果一个成员被公开使用,那么该成员在设计就必须非常小心,以便防止破坏程序的运行。 4.继承 Public成员和部分方法在继承是可见的,而private成员和方法只能在类内部使用,不能被子类访问。可以通过使用protected修饰符来定义可供子类访问的成员和方法。 总之,publicprivate两种访问修饰符在Java都有其独特的应用领域和重要性。public修饰符用于创建可通过任何类实例访问的接口,更适合用于构建用户界面等公共需求。相反,private修饰符用于隐藏实现细节,并提供安全性和保密性。开发者需要明确的理解他们使用修饰符的含义,以便正确的构建他们的对象和程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值