如何实现封装呢?访问控制修饰符来控制相应的可见边界,边界有如下:
(1)类(2)包(3)子类(4)模块:Java9之后引入
权限修饰符:public,protected,缺省,private
| 修饰符 | 本类 | 本包 | 其他包子类 | 其他包非子类 | 其他模块 |
|---|---|---|---|---|---|
| private | √ | × | × | × | × |
| 缺省 | √ | √ | × | × | × |
| protected | √ | √ | √ | × | × |
| public | √ | √ | √ | √ | 默认不可以,可以建立依赖 |
成员变量(field)私有化之后,提供标准的get/set方法,我们把这种成员变量也称为属性(property)。或者可以说只要能通过get/set操作的就是事物的属性,哪怕它没有对应的成员变量。
如何解决局部变量与成员变量同名问题
当局部变量与类变量(静态成员变量)同名时,在类变量前面加“类名.";当局部变量与实例变量(非静态成员变量)同名时,在实例变量前面加“this.”
构造器的作用
在创建对象的时候为实例变量赋初始值。
注意事项:
-
构造器名必须与它所在的类名必须相同。
-
它没有返回值,所以不需要返回值类型,甚至不需要void
-
如果你不提供构造器,系统会给出无参数构造器,并且该构造器的修饰符默认与类的修饰符相同
-
如果你提供了构造器,系统将不再提供无参数构造器,除非你自己定义。
-
构造器是可以重载的,既可以定义参数,也可以不定义参数。
-
构造器的修饰符只能是权限修饰符,不能被其他任何修饰
647

被折叠的 条评论
为什么被折叠?



