【Java】封装对象

Java封装是面向对象编程的重要特性,它通过限制属性访问并使用set和get方法来提高代码的安全性和可维护性。封装的优点包括减少耦合、允许内部结构自由修改以及隐藏实现细节。实现Java封装的步骤主要包括将属性设为private并提供对应的getter和setter方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java封装

在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

封装的优点

  • 1. 良好的封装能够减少耦合。

  • 2. 类内部的结构可以自由修改。

  • 3. 可以对成员变量进行更精确的控制。

  • 4. 隐藏信息,实现细节。

实现Java封装的步骤

1. 修改属性的可见性来限制对属性的访问(一般限制为private),例如:

public class Student {
    private String name;//姓名
    private int age;//年龄
    private int sex;//性别
}

这里的限制类型主要有以下几种以及他们的限制范围:

 publicprotected默认private

同一类中

   ★

   ★  ★  ★

同一包子类,其他类

   ★   ★  ★ 
不同包子类   ★   ★  
不同包其他类   ★   

 

所以示例中的属性是私有的属性,只有自己可以访问,其他的类不能访问。

2. 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问,例如:

package 动物类;

public class Pet {
	private String name;
	private String color;
	private int leggs;
	public Pet(String name,String color,int leggs) {
		this.color=color;
		this.leggs=leggs;
		this.name=name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void getName() {
		return;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	public int getLeggs() {
		return leggs;
	}
	public void setLeggs(int leggs) {
		this.leggs = leggs;
	}
	public void eat() {
		System.out.println(leggs+"条腿的"+color+"的"+name+"在吃饭");
	}
}

这里private里不能被访问,大大提高了安全性,但安全性之外,我们还是想要调用,怎么办,一是设置public类,但是这样就直接被访问了,不符合,所以就有了第二类方法set和get,从单词意思不难理解,set是设置,get是获取。因此,这两个方法是对数据进行设置和获取用的。set是赋值给设定的变量,return返回这个值给类。这两个方法可以在后面的子类中进行调用,调用的方法为a.set(...)。

接下来我们测试一下。进行调用:

public class Pettest {
	public static void main(String[] args) {
		Pet s = new Pet(null, null, 0);
		s.setName("阿黄");
		s.setColor("黄色");
		s.setLeggs(4);
		s.eat();
	}

}

输出:

 

参考资料:https://www.runoob.com/java/java-encapsulation.html

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值