java封装

目录

  • 定义
  • 优点
  • 如何封装
定义
  • 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
  • 要访问该类的代码和数据,必须通过严格的接口控制。
  • 封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
  • 适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
优点
  • 良好的封装能够减少耦合
  • 类内部的结构可以自由修改
  • 可以对成员变量进行更精确的控制
  • 隐藏信息,实现细节
如何封装
  • 说了这么多的理论,接下来就用实例介绍一下如何封装

实例

-条件: 有两个类,一个叫Teacher,另一个叫Student,(接下来我简称为T类和S类)

1. T中有变量age,S想改变age的值。

public class Teacher {
	int age;
}
-----------------------------------------
public class Student {
	public static void main(String[] args) {
		Teacher teacher=new Teacher();
		teacher.age=12;
		System.out.println(teacher.age);
	}
}

结果

12

解释
这样T中的age的值就被S调用并改变了。

2.T不想让S改变age的值

public class Teacher {
	private int age;
}
----------------------------
....(此处省略了S的代码,因为没有改变)

解释
T限制了age的访问权限,变为了私有的,这时S就不能调用它了。

3T想让S在一定范围内调用age,比如现实中age(年龄)不可能为负值,所以T决定age的范围不能低于0也不能大于124,否者你就不能调用。T的这种想法其实就是对age的封装

public class Teacher {
	private int age;
	public void setage(int age) {
		if(age<0||age>124) {
			System.out.println("无效");
		}else {
			this.age=age;
		}
	}
	public int getage() {
		return age;
	}
}
-----------------------------------------
public class Student {

	public static void main(String[] args) {
		Teacher teacher=new Teacher();
		teacher.setage(12);
		System.out.println(teacher.getage());
		teacher.setage(155);
	}
}

结果

12
无效

解释
这就完成了对age的封装工作,总结来看封装其实就是限制条件。

ps:以上为java封装的部分知识,由于作者暂时知识有限,仍有欠缺,也是些许遗憾。以后会不定期补充内容。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值