一起来学习系列:Java面向对象——封装.

Java面向对象——封装

封装的概念可以理解为打包,将程序进行一定程度的封装既能提高程序维护的效率也能提高程序的安全性

java中的封装

方法:

将执行的多条语句以一个代码块进行封装并指定名称与运行时需要的数据,在需要使用时进行调用,隐藏了执行的过程,调用方只需要知道方法名以及传入指定参数就可以获取结果,并可以重复调用,既提高了系统的安全性也提高了系统开发维护的方便

类:

将一群具有相同特征相同行为对象相同进行抽取封装为类。可以用类来表示这些拥有共同属性的任意对象。

属性:

在类的定义过程中使用访问权限修饰符修饰属性,将属性权限设置为只对指定位置可见以提高系统的安全性。

访问权限修饰符

java中的封装只的就是使用访问权限修饰符对类、方法、属性进行修饰以达到安全性的体现

在这里插入图片描述

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

说明:在方法中的变量不能有访问说明符,因为该变量只能在该方法中使用,外界无法访问。

使用限制

访问权限修饰符可以用来修饰类、方法、属性但有一定的限制

修饰类

使用访问权限修饰类时只能使用public与默认修饰符

package com.yunhe.day1016;
//修饰类只能使用public或默认
public class ASD {
    
    
}
package com.yunhe.day1016;
//同包下其他类可以直接使用无需导包
public class Test {
    
    
	public static void main(String[] args) {
    
    
		ASD asd=new ASD();
	}
}
package com.yunhe.day1015;
import com.yunhe.day1016.ASD;
//不同包下需要导包才可以使用
public class T1 {
    
    
public static void main(String[] args) {
    
    
	ASD asd=new ASD();
}
}

默认访问权限修饰符修饰的类只有同包下可以使用其他包下不能访问

修饰方法

可以使用全部修饰符(常用public、private)

修饰属性

可以使用全部修饰符(常用private)

私有属性赋值方法

1)构造方法初始化赋值

2)创建公开的方法进行修改

由于方法的特性以及类的特性封装使用不是很多,所以现在一般封装指的就是属性的封装

封装,就是隐藏实现细节
将属性私有化,提供公有方法访问私有属性
通过这些公有方法访问私有属性

封装的实现

1、修改属性的可见性来限制对属性的访问
2、为每个属性创建一对赋值(setter)方法和取值(getter) 方法,用于对这些属性的访问
3、在setter和getter方法中,加入对属性的存取限制

学习完封装之后类的书写规范

//类的属性规范
//类修饰符根据实际使用决定使用public还是默认
public class Teacher {
    
    
	// 属性
	// 所有属性使用private修饰
	private String name;// 名字

	// 为所有属性提供公开的getter与setter方法
	// getter方法书写规范
	// 修饰符必须为public 返回值类型与属性类型一致 方法名为get+属性名(遵循驼峰命名法)
	public String getName() {
    
    
		return name;
	}

	// setter方法书写规范
	// 修饰符必须为public 返回值为void 方法名为set+属性名(遵循驼峰命名法)
	public void setName(String name) {
    
    
		this.name = name;
	}

	// 构造方法
	// 1无参构造方法
	public Teacher() {
    
    
	}

	// 2全参构造方法
	public T
		this.name = name;
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_51443782/article/details/109579147