Java中 private关键字 详细用法及解释
黎鹤舞828 2024-07-06 15:05:04 阅读 83
文章目录
Java中 private关键字 详细用法及解释一、为什么要使用private二、private关键字的定义三、private代码的实例修饰成员变量时:
Java中 private关键字 详细用法及解释
一、为什么要使用private
出于 安全性考虑,我们在写字段时,尽量考虑采用 封装,这样可以隐藏类的细节,只对外开放接口即可实现对象之间的交互。
二、private关键字的定义
private是 一个访问限定修饰符
可修饰的的范围:
修饰成员变量:
表示当前成员变量只能在当前类中使用
修饰成员方法:
表示当前成员方法只能在当前类中使用
附:访问限定修饰符图表
三、private代码的实例
修饰成员变量时:
<code>class Person {
private String name = "张三";
int age = 18;
}
class Student extends Person {
public String gender;
}
public class Test {
//private关键字测试
public static void main(String[] args) {
Person person = new Person();
Person p = new Student();
//编译均无法通过,因为String name 属性被 private修饰
System.out.println(person.name);
System.out.println(p.name);
}
如下:
那么如何让其他类使用到private的成员变量呢?
我们可以创建一个 public 方法,在方法里 仅return 被private修饰的变量;
这里我们用getName() 方法来传递name的值;
<code>class Person {
private String name = "张三";
int age = 18;
//用来传递private修饰的name的值
public String getName() {
return name;
}
}
public class Test {
//private关键字测试
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.getName());
}
同理,如果我们想对private修饰的变量进行赋值,可以建立一个setName()方法;
class Person {
private String name = "张三";
int age = 18;
//用来传递private修饰的name的值
public String getName() {
return name;
}
//用来修改private修饰的name的值
public void setName(String name) {
this.name = name;
}
}
public class Test {
//private关键字测试
public static void main(String[] args) {
Person person = new Person();
System.out.println("修改之前:" + person.getName());
person.setName("李四");
System.out.println("修改之后:" +person.getName());
}
}
运行结果如图:
注: 如果你使用的集成开发环境是IDEA,那么可以使用快捷键快速创建 Getter and setter函数
如果点击 Getter and Setter,编译器会自动创建好上述两个方法;
如果只想创建Getter 或 是Setter方法,只用点击上面的 Getter 或者是 Setter就可以了。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。