淘宝上成都网站建设,怎么做会员卡管理系统,建设网站需要准备什么资料,三合一网站管理系统封 装
封装是面向对象编程#xff08;OOP#xff09;的三大特性之一#xff0c;它将数据和操作数据的方法组合在一个单元内部#xff0c;并对外部隐藏其具体实现细节。在Java中#xff0c;封装是通过类的访问控制修饰符#xff08;如 private、protected、public#x…封 装
封装是面向对象编程OOP的三大特性之一它将数据和操作数据的方法组合在一个单元内部并对外部隐藏其具体实现细节。在Java中封装是通过类的访问控制修饰符如 private、protected、public和访问方法getter 和 setter来实现的。
访问控制修饰符
在Java中类的成员可以使用不同的访问控制修饰符来控制其可见性。
private只有同一个类内部的方法可以访问。
default包级访问同一个包内的类可以访问。
protected同一个包内的类以及不同包中的子类可以访问。
public任何类都可以访问。
Getter 和 Setter 方法
这些方法用于在类外部访问和修改类的私有属性。Getter 方法用于获取属性的值Setter 方法用于设置属性的值。它们通常是公有方法允许外部代码通过方法来访问属性而不需要直接访问属性本身。
封装的优点 数据隐藏 封装隐藏了类的内部实现细节防止外部代码直接访问和修改数据从而提高了数据的安全性。 代码灵活性 封装使得类的内部结构可以更改而不影响外部代码的使用。 代码重用 封装提供了接口来访问类的功能使得其他代码可以重用类的功能而不需要了解内部实现细节。
封装的实现
封装通过将类的成员声明为私有private来实现然后通过公有public的 Getter 和 Setter 方法来提供对这些成员的访问和修改。
封装的应用场景
封装在软件设计中的应用广泛尤其适用于隐藏内部细节、提供良好的接口、确保数据安全性等场景。它有助于构建模块化、易于维护的代码。
不变性 封装可以用于创建不变类Immutable Class即类的实例一旦创建就不能被修改只能通过构造函数来初始化。
遮蔽Shadowing
是指一个作用域中使用了一个和外层作用域相同的变量名导致局部变量“遮蔽”了外部变量即无法直接访问外部变量
局部变量遮蔽成员变量
this关键字
this关键字更详细讲解点击这里 代表当前对象可以用于以下几个方面 引用当前对象的成员方法 引用当前对象的成员变量 调用当前对象的构造方法
this只能在类的实例方法、实例初始化和构造方法中使用。不能在静态方法中使用。
总结
引用当前对象
在类的非静态方法中this 引用当前对象即调用该方法的对象实例。
访问实例变量
在类的方法中可以使用 this 来访问当前对象的实例变量。
调用构造方法
在一个构造方法内部可以使用 this() 调用当前类的其他构造方法实现代码的复用。
避免方法参数与实例变量同名
当方法的参数名与实例变量同名时可以使用 this 关键字来区分引用的是实例变量还是方法参数。
在构造方法中调用其他构造方法
使用 this() 在构造方法中调用其他构造方法以减少代码冗余。
在匿名内部类中
在匿名内部类中如果需要引用外部类的实例可以使用 外部类名.this。
在静态方法中的限制
this 不能在静态方法中使用因为静态方法与特定对象实例无关。
构造方法中的 this 和 super 的关系
构造方法中的 this() 和 super() 不能同时使用因为它们都必须作为构造方法的第一行。