3.get, set方法的使用+理解

Java中的get()和set()方法

我们先来粗略理解一下set 和 get 方法,接下来我会用具体代码来具体说明。set是是对数据进行设置,而get是对数据进行获取。而且,在类中使用set和get方法时,都是在set和get后面跟上一些特定的词来形成特定意思的方法名,比如下面代码中出现的setage()和getage(),表示设置年龄和获取年龄。
知道了这些,我们可能会出现一个疑问,为什么不直接对数据进行附值呢,而是要先用set设置,再用get获取。这样不是有一点多此一举吗?那么接下来这段话便会带你解决这个疑问。
因为java三大特性;封装继承多态。提到封装也就引出来了JAVA面向对象编程中的封闭性和安全性。封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问。这样我们就将这些变量封闭在了类内部,这样就提高了数据的安全性,当我们想要操作这些域变量怎么办呢?我们可以通过两种方法,第一中即通过public方式的构造器(或称构造函数),对象一实例化就对该变量赋值。第二种就是通过上面提到的setget方法,这里我举一个特定的例子:

参考代码

public class person{
	
	private int age;
	
	public void setage(int age) {
		
		this.age = age;
	}
	public int getage() {
		
		return age;
	}
	
	public static void main(String[] args) {
		person p = new person();
		p.setage(18);
		p.getage();
		System.out.println("age = " + p.getage());
	}
}

运行结果
在这里插入图片描述

该类中有age这个私有变量,然后我定义setage()、getage()这两个方法,通过这两个方法来实现对age的操作。main函数中使用调用setage方法并传参(18),然后setage方法将18设置给了age,然后main函数使用getage方法获取age的值。所以输出结果为 18 。这样一来,我不用直接对person类中的域变量操作,而是通过set和get方法间接地操作这些变量,这样就能提高域变量的安全性,同时又保证了域变量的封装型。

最后说说set和get方法的使用场景,一般来说set和get方法都是对私有域变量进行操作的,所以大多数都是使用在包含特定属性的类实体中。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值