【JAVA】getter与setter方法的定义与使用

您所在的位置:网站首页 idea中getter和setter的快捷键 【JAVA】getter与setter方法的定义与使用

【JAVA】getter与setter方法的定义与使用

2024-01-07 17:40| 来源: 网络整理| 查看: 265

目录

一、如何添加getter setter方法

二、getter方法

1.getter方法的定义

2.getter方法的格式

三、setter方法

1.setter方法的定义

2.setter方法的格式

四、getter与setter中代码处理

五、getter与setter的使用

六、setter和getter的作用

七、异常处理

前言

setter和getter是面向对象程序设计中的术语,用于实现封装性和安全性。它们分别代表设置器和获取器。

setter和getter的主要目的是使应用中的数据(属性)不能被直接访问。这样可以防止不安全的改变数据的情况发生,并且可以提供更严格的对数据的控制。setter和getter方法也有助于维护代码的可读性和可维护性,因为可以在方法内部实现对属性值的验证和处理逻辑

一、如何添加getter setter方法

在大多数面向对象编程语言中,添加getter和setter方法通常很简单,只需遵循以下步骤:

在类中定义一个私有属性。

创建一个公共的 setter 方法,以接受一个参数并将其分配给私有属性。

创建一个公共的 getter 方法,以返回私有属性的值。

以下是一个基本的示例,说明如何添加getter和setter方法:

public class Person { private String name; // 私有属性 // setter方法 public void setName(String newName) { this.name = newName; } // getter方法 public String getName() { return this.name; } }

在此示例中,我们为Person类添加了一个私有属性“name”,然后在类中定义了一个公共setter方法和一个公共getter方法,以允许外部代码设置和获取“name”属性的值。然后,我们可以通过以下方式使用它:

Person person = new Person(); person.setName("John"); // 设置name属性的值 System.out.println(person.getName()); // 输出John,获取name属性的值 在生产环境中,如果需要对setter和getter方法进行额外的处理,可以使用注解或AOP(面向切面编程)来实现对这些方法的切面处理 二、getter方法 1.getter方法的定义

返回对象内部的成员变量的值

用来读取私有属性的值,通常以get开头,后面跟上属性名,不带参数,返回属性的值。

public type getValue(){ return value; }

其中type代表属性的类型,getValue()为方法名,value为对象属性名。Getter方法通常被用于获取一个对象的私有属性值,因为私有属性不能被直接访问。 

2.getter方法的格式 [访问修饰符] 成员变量类型 getXxx(){ return 成员变量; }

例下图: 0870e0749b814fc8b6da0a4f4af61c50.png

三、setter方法 1.setter方法的定义

用来设置成员变量,可以在方法里面过滤掉一些不合理的值

用来设置私有属性的值,通常以set开头,后面跟上属性名,参数为要设置的值,无返回值。

public void setValue(type value){ this.value = value; }

其中type代表属性的类型,setValue()为方法名,value为对象属性名。Setter方法通常被用于为一个对象的私有属性设置值,因为私有属性不能被直接访问。

2.setter方法的格式 [访问修饰符] 成员变量类型 getXxx(){ 成员变量=参数; } 四、getter与setter中代码处理

getter、setter用于读取和写入成员变量值,可在方法中增加代码进行数据处理

*使用setter可以对输入的数据进行检验

*使用getter可以对读出的数据进行处理

Getter和Setter方法通常被用于封装对象属性,以保证数据的安全性和可维护性。它们遵循Java语言的“面向对象”编程原则,即“封装”,“继承”和“多态”

五、getter与setter的使用

假设有一个Person类,包含私有属性name和age,可以使用getter和setter方法如下:

public class Person { private String name; private int age; public String getName() { // getter方法 return name; } public void setName(String name) { // setter方法 this.name = name; } public int getAge() { // getter方法 return age; } public void setAge(int age) { // setter方法 this.age = age; } }

 

通过调用对象的getter和setter方法,可以获取和设置其私有属性的值,例如:

Person person = new Person(); person.setName("Tom"); // 设置name属性的值为Tom person.setAge(18); // 设置age属性的值为18 System.out.println(person.getName()); // 输出Tom System.out.println(person.getAge()); // 输出18

例下图:

0ef6079757174d2da5c8ca03ecc58cf5.png

六、setter和getter的作用

1.封装数据

setter和getter方法允许我们在外部访问某些成员变量时,对其进行封装,隐藏其实现细节。

2. 数据验证

通过setter方法,我们可以对某些成员变量进行数据验证,以确保其符合业务逻辑和规范。

 3.访问控制

setter和getter方法可以根据需要限制对成员变量的访问,比如只读、只写或读写。

4. 简化代码

通过getter方法,我们可以获取成员变量的值,而不需要直接访问成员变量本身,从而简化代码。

 总的来说,setter和getter方法有助于提高代码的可维护性、可读性和可扩展性。

七、异常处理

--- 声明异常 ---

public void setAge(int age) throws Exception

---抛出异常---

throw new Exception("年龄不符合要求");

---捕获异常---

try{ //可能出现异常代码 s1.setAge(30); s1.setSex("男"); System.out.printf("年龄为%d,性别为%s\n",s1.getAge(),s1.getSex()); }catch(Exception e){ //异常代码处理 System.out.println(e.getMessage); 在方法内部进行数据校验,如果发现不符合要求的数据,则抛出异常。例如: public void setAge(int age) throws IllegalArgumentException { if (age < 0 || age > 150) { throw new IllegalArgumentException("Age must be between 0 and 150"); } this.age = age; }

在这个例子中,如果尝试将年龄设置为负数或大于150,就会抛出一个IllegalArgumentException异常。

在方法声明中使用throws关键字,将异常抛给调用者处理。例如: 在方法声明中使用throws关键字,将异常抛给调用者处理。例如:

在这个例子中,如果在设置年龄的过程中发生了IOException异常,就会被抛给调用者处理。

要是我哪里做得不足,大家也可以去别人那里看看,这是链接:

Getter和Setter是什么?有什么作用?实现多种数据类型的Getter、Setter方法?实现Getter、Setter的常见的错误?_getter setter-CSDN博客

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3