java总结——面向对象-封装

本文详细介绍了面向对象编程中的封装特性,包括其作用、如何通过访问权限修饰符实现属性和方法的封装,以及封装在类和方法创建中的应用。以教师类为例,展示了如何使用private修饰属性并提供getter和setter方法进行访问控制,强调了封装在保护数据和提高代码安全性方面的重要性。
摘要由CSDN通过智能技术生成

概念

封装是面向对象编程三大特性之一,将程序具体的实现细节进行隐藏,只对可信的程序进行展示的过程称之为封装,(通过访问权限修饰符对类 变量 方法进行修饰 使其只对可见的类访问)

方法本身的书写就可以理解为封装,将某一功能具体实现的功能进行封装,对于使用方只提供服务,而不会展示内部实现细节

类的创建也是封装,将大量对象共有的属性与行为进行抽取,声明变量进行保存,使其可以作为对象创建的模板

现在大多数而言进行封装的概念就是对类的属性的封装,使用访问权限修饰符进行属性的修饰,使本类外部不能直接访问,提供公开的方法进行对应属性的设置与获取

访问权限修饰符

通过相应的访问权限修饰符关键字,对类、方法、属性进行修饰、进行相应权限的设置(现基本对属性进行封装)

public:所有的类都能有public访问说明符。你能从任何Java程序的任何对象里使用公有类、成员数据(属性)和方法。
private:只有本类的类对象才能访问的私有变量或方法,类内部成员之间可以访问;
protected:在类中被声明为保护的变量,方法能被其子类访问。
默认的:(default)假如没有规定访问说明符,那就是friendly的。拥有默认访问符的类、变量或方法对包里的所有类来说都是可访问的。
说明:在方法中的变量不能有访问说明符,因为该变量只能在该方法中使用,外界无法访问。

修饰符修饰类

由于类是用于创建对象,所以类只能使用public 和默认进行修饰

修饰符修饰方法

在程序执行过程中,往往需要进行很多方法的调用,或进行方法的依次调用,但是如果方法全部公开,可能会出现一些安全性的问题

方法的修饰可以使用任意访问修饰符,根据实际需求而定

一般使用private进行私有化(只有当前类可以使用),被私有的方法只能在当前类中使用,所以必须有一个被public修饰的方法执行中调用这个方法,否则会提示警告

修饰符修饰属性

由于类与方法的特殊性,所以java中对于封装的使用最多的就是属性的封装,所以现在有些概念已经将封装就定义为对属性的封装,使用private修饰属性,是属性私有,对外部不可见,然后通过定义公开的方法对这些属性进行获取与赋值

封装后类的书写(实例)

//教师类
public class Teacher {
	//所有属性使用private进行修饰
	private String name;//姓名
	private int age;//年龄
	private String sex;//性别
	private int sutdyAge;//教龄
	
	//无参构造方法
	public Teacher() {
	}
	//全参构造方法
	public Teacher(String name, int age, String sex, int sutdyAge) {
		this.name = name;
		this.age = age;
		this.sex = sex;
		this.sutdyAge = sutdyAge;
	}
	//为私有属性设置getter与setter方法
	//获取方法
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getSutdyAge() {
		return sutdyAge;
	}
	public void setSutdyAge(int sutdyAge) {
		this.sutdyAge = sutdyAge;
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值