Java关键字使用:private 关键字

private关键字作用:

在这里不用官方的话来解释,说简单一点就是,当你设置了private 变量,你需要注意两点:

  • 你可以对类中的属性进行更加精确、细化的限制
  • 在类 → 对象实例化实现的时候要注意使用一对setter 和 getter 来修改和提取对象的属性。

【下面就这两点展开解释】:

1. 可以对类中的属性进行更加精确、细化的限制

【先看一下一般方法】
Java关键字使用:private 关键字_第1张图片
图1 一般方法的类定义和对象实例展示

可以看到,在对象中我们可以设定对象的属性,但是问题来了,如果我现在在对象的属性中不小心把年龄输成了负数,那么系统编译也会通过,因为只要是 int 类型的数据,在对象产生的时候编译都是不会报错的,但是实际上,年龄是没有负数的,那么怎么解决这个问题呢!!

【问题实例】
Java关键字使用:private 关键字_第2张图片
图2 一般方法的类定义和对象实例的局限和漏洞

【问题解决 → private】

2. 在类 → 对象实例化实现的时候要注意使用一对setter 和 getter 来修改和提取对象的属性

Java关键字使用:private 关键字_第3张图片
图3 使用 private 关键字的类定义和对象实例展示

【可以看到】

① private int age 使用了 private 关键字
② 相应的要使用 setAge 来设定更加精确和自由的属性规则; “setAge”的格式是一定的,“set” 为小写,使用 private 关键字的属性是“age”,所以“Age”的第一个字母要大写,这是特定的规则。 例如,如果你要对“name”这个属性进行同样的 private 操作,那么,你应该构成 “setName”“getName” 一对方法来进行操作。但是! 布尔型的方式有例外,比如说你设置了一个布尔型的属性 “name”,那么,当你要对他使用 private 关键字的时候,你使用的一对方法名称应该叫做 “setName”“isName” 而不是上文提到的 “getName”

“setAge” 的相应要求是: 无返回值,有传入参数
“getAge”的相应要求是: 有返回值,无传入参数,结合第③条,这两条规则也是规定的!!不能改变

所以,在对象的实例中(也就是箭头指向的部分),不再使用<图1>中简单的 person.age 来进行对象属性的设定和提取,而是 改成了person.setAge() 来设定 / person.getAge() 来提取。这样可以对属性的 age 有更加精细化的规定和设计,而不再局限于 int 属性所规定的范围。

================================================

PS: 如果使用 private 的关键字,而不用setAge和getAge方法,那么在对象中,无法使用age这个属性,换句话说,使用了private关键字这种方法,在对象设定的时候 “对象.age”这种方便快捷的方式会不合法。错误展示如下:
Java关键字使用:private 关键字_第4张图片
图4 使用 private 关键字的类定义和对象不规范实例展示

【可以看到】

右边的红方框中的部分出现了不合法的红色,证明使用 private 的时候,在对象创建的过程中,必须使用 settergetter 来对特定属性进行操作。

你可能感兴趣的:(java语言学习)