java封装代码示例

封装(Encapsulation)是面向对象编程中重要的概念之一,它指把一个对象的属性(属性可以是变量)和行为(行为可以是方法)绑定在一起,同时保护对象的内部实现细节,使得对象的使用者不能直接访问对象的内部实现细节。这样,对象的使用者就只能通过对象的公共接口来操纵对象,而不需要关心对象中的具体实现方法。

Java 中,封装是通过访问控制修饰符(public、protected、private)和 getter/setter 方法来实现的。对于每个属性(类成员变量)来说,通常都会提供一个 getter 方法和一个 setter 方法。getter 方法用于获取属性的值,setter 方法用于设置属性的值。通常情况下,getter/setter 方法都是 public 访问控制修饰符,因为我们希望对象的使用者能够使用这些方法。

下面是一个示例代码,演示如何使用封装来保护对象的实现细节:

```

public class Person {

private String name;

private int age;

public Person(String name, int age) {

this.name = name;

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

if (age < 0 || age > 120) {

throw new IllegalArgumentException("Age must be within [0, 120]");

}

this.age = age;

}

public String toString() {

return "Person {" + "name='" + name + '\'' + ", age=" + age + '}';

}

}

```

在上面的代码中,我们定义了一个 Person 类,它有两个私有成员变量:name 和 age,分别表示人名和年龄。然后,我们又定义了一个构造方法,用于初始化这两个成员变量。注意,这里的两个成员变量都是 private 的,这意味着外部对象不能直接访问它们。

接下来,我们提供了两个公共的 getter 方法(getName 和 getAge),这些方法可以被类的使用者调用来获取对象的属性值。

此外,我们还提供了两个公共的 setter 方法(setName 和 setAge),这些方法可以被类的使用者调用来设置对象的属性值。需要注意的是,对于年龄这个属性,我们加入了一个判断语句,用于确保年龄不能小于 0 或大于 120。如果年龄超出这个范围,将抛出 IllegalArgumentException 异常。

最后,我们还提供了一个 toString 方法,用于将对象的信息以字符串的形式返回。这样,在使用该类的时候,我们就只需要通过公共接口来操作对象,而不用关心对象的具体实现细节。这样,就实现了类的封装。

总结一下,封装是面向对象编程中非常重要的概念。它可以保护对象的内部实现细节,同时提供公共接口供类的使用者操作对象。在 Java 中,封装是通过访问控制修饰符和 getter/setter 方法来实现的。需要注意的是,在定义 setter 方法的时候,可以加入一些校验逻辑,用于确保属性值的有效性。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(79) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部