Java中private关键字详细用法实例以及解释
作者:黎鹤舞828
一、为什么要使用private
出于 安全性考虑,我们在写字段时,尽量考虑采用 封装,这样可以隐藏类的细节,只对外开放接口即可实现对象之间的交互。
二、private关键字的定义
private是 一个访问限定修饰符
可修饰的的范围:
修饰成员变量:
表示当前成员变量只能在当前类中使用修饰成员方法:
表示当前成员方法只能在当前类中使用
附:访问限定修饰符图表
三、private代码的实例
修饰成员变量时:
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的值;
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就可以了。
补充:用简单的实践代码操作讲解
0、为什么封装函数?
(为了更灵活方便运用代码,将封装好的函数另存一个java文件,写程序的时候写简短的代码调用封装函数,可以避免由于程序过多,不好整理代码,也可以减少在繁琐的代码中寻找错误和修改程序)
废话少说,回归正题:
1、用private封装好需要的函数:
public class 练习封装函数 { private String name;//封装一个姓名的函数 private String sex;//封装性别函数 private int number;//封装学生的学号函数 private double score;//封装学生的成绩函数 }
2、封装好函数后,访问被封装好的函数属性内容,就要用到Setter和Getter方法来实现,(即给封装的各个函数进行初始化设置)
- Setter方法:对属性内容进行定义和赋值;
- Getter方法:读取属性内容信息。
(一个一个写有些繁琐,如果是eclipse软件,可用快捷键shift+alt+s弹出窗口选 生成setter和getter方法,把封装的所有函数打上勾生成即可)(代码下面都有相关注释)
public void setName(String name) { this.name = name; } public String getName() { return name; } public String setSex() { this.sex; } public String getSex() { return sex; } public int setNumber() { this.number; } public int getNumber() { return number; } public double setScore() { this.score; } public double getScore() { return score; }
【注】getter方法必须有返回值return,setter和getter方法中的数据类型必须与封装函数的类型保持一致!
3、封装好的函数setter和getter初始化完成后,给程序定义一个输出函数:
public void show() { System.out.println("姓名:"+name+"\n"+"性别:"+sex+"\n"+"学号:"+number+"\n"+"成绩:"+score); }
然后在同一包里面新建JAVA类,在class块里面输入调用函数的代码:
public static void main(String[] args) { 练习封装函数 s1 = new 练习封装函数(); s1.setName("小明"); s1.setSex("男"); s1.setNumber(202002039) s1.setScore(99); s1.show();//调用上面写好的输出函数 }
显示结果为:
姓名:小明
性别:男
学号:202002039
成绩:99
总结
到此这篇关于Java中private关键字详细用法实例以及解释的文章就介绍到这了,更多相关Java private关键字用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!