您好,老师关于private修饰符的问题
package com.test;
/**
* 职务类
* @author Administrator
*
*/
public class Position {
//职务编号
private int positionNumber;
//职务名称
private String locationName;
/**
* 职务类的无参构造方法
*/
public Position() {
}
/**
* 职务类的带参构造方法
* 实例化对象时传递 职务编号、职务名称 两个参数
* @param positionNumber
* @param locationName
*/
public Position(int positionNumber, String locationName) {
//设置职务编号
this.setPositionNumber(positionNumber);
//设置职务名称
this.setLocationName(locationName);
}
public int getPositionNumber() {
return positionNumber;
}
private void setPositionNumber(int positionNumber) {
this.positionNumber = positionNumber;
}
public String getLocationName() {
return locationName;
}
private void setLocationName(String locationName) {
this.locationName = locationName;
}
}
//这样写的话 是否就可以理解为positionNumber和locationName两个变量只能在实例化对象时改变变量内的数值。或者说,这两个变量只能在实例化时被赋值一次,其他情况如果不写其他public方法调用的话是无法改变的。 问题: 1.代码是我百度查了下private的用法自己写的,整个代码语法方面是否有错误 2.当有些情况只能赋值一次时,是否可以用这种写法 3.不添加其他方法的情况下,这种写法是否绝对安全 心里有这些疑问,请老师帮忙解答一下
正在回答
我针对同学的问题依次回答,
是的,只能在实例化时改变变量的数值。
1、整个代码语法方面没有错误,
2、通常情况下,我们只实例化一次,所以可以使用这种写法。
3、如果同学所说的安全是指在外部无法被改变的话,这种做法是安全的。
封装的意义在于将某些信息隐藏着类内部,不允许外部程序直接访问,通过该类中提供的方法来实现对隐藏信息的操作和访问。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星