java封装

java有三大特性,继承、封装、多态,封装便是其中之一

一.vo类

在说封装之前先来说一个特殊的类,叫vo类,下面这段代码便是一个vo类,我们可以看出,这个特殊的类中只含有private的属性,get和set方法:

public class Student{

	private int age;
	private String id;
	private String name;
	
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

二.封装 

其实创建上述的那个vo类的过程就叫做封装。

那么这个类是怎么定义出来的呢?这么多个方法又是怎么操作出来的呢?创建的操作如下:

首先创建一个含有private修饰符的属性的类:

public class Student{

	private int age;
	private String id;
	private String name;

}

 然后在类中的空白处右键点击,然后选择Source中的Generate Getters and Setters:

然后在下面的窗口中选择select all,然后点击ok,然后一个封装过程就完成了。

三.封装的作用

 用另一个类对这个类中的属性赋值,其实最简单的方法就是在属性前加public修饰符,然后在另一个类中直接创建对象便可以修改了,但是为什么要弄这么麻烦的一个封装过程呢?其实它的作用就是起到一个限制作用,假设一个类中的属性如下,然后在另一个类中修改:

//含有属性的类
public class Student{

	public int age;
	public String id;
	public String name;

}


//在该类中修改
public class Test{

	new Student().age=1000;
}

但是我们都知道,年龄age不可能有人活到1000岁,所以这就导致了一个问题,其他类可以对此类中的变量任意赋值,无论是否合理,所以对类的封装就发挥了它的作用,像如下的代码:

public class Student{

	private int age;
	
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		if(age>1 && age<150) {
			this.age = age;
		}else {
			System.out.println("超出赋值范围");
		}
	}
}

大于150的值是不能被其他类赋给这个变量的,这就起到了很好的限制其他程序员随意修改值的弊端,假如有其他类对其赋超过150的值,运行结果如下:

public class Test{
	
	public static void main(String[] args) {
		Student student = new Student();
		student.setAge(200);
		System.out.println(student.getAge());
	}
}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值