Java封装性(包含this关键字,构造器等)

目录

一、封装性的含义

二、封装性的作用

三、封装性的体现

3.1、四种权限修饰符的介绍

3.2、分装性具体的实现

四、构造器的解释

4.1、构造器的作用

4.2、注意事项

 4.3、构造器的举例说明

五、this关键字的使用

5.1、this修饰属性和方法 

5.2、this 调用构造器

5.3、this的举例


一、封装性的含义

        封装性的作为java面向对象思想的三大特征之一。从字面上看,就是将一部分的东西整合成一个整体。用专业的术语来讲,可以理解为:隐藏对象内部的复杂性,只对外公开简单的接口。(通俗来讲封装性的设计思想:把该隐藏的隐藏起来,该暴露的暴露出来)

二、封装性的作用

①提高了代码的复用性。

②提高了代码的安全性。(利用private访问控制符,让访问权限降到最低,从而提高安全性)

③降低了代码的复杂程度。(将复杂的内部细节全部进行封装,只留下简单的接口,通过接口进行对方法的调用。)

三、封装性的体现

        在了解实现分装性前我们要先了解Java的四种权限修饰符。

3.1、四种权限修饰符的介绍

        Java权限修饰符 public、protected、default、private 可以放置在类的成员对象定义前,4 种权限用来修饰类及类的内部结构:属性、方法、构造器、内部类 (不同权限的访问权限如下:)

        注意:class 的权限修饰只可以用public 和 default(缺省)。

3.2、分装性具体的实现

        我们将类的属性私有化(private)同时,要提供公共的(public)getxxx和setxxx方法来获取和输出值。(示例代码如下)

package cn.spilt_charging.contact;

public class Animal {
	
	public static void main(String[] args) {
		animals animals = new animals();
		
		animals.name = "小白";
		//animals.age = 10;   //无法直接调用(age为私有性)
		//animals.legs = 4;     //无法直接调用(legs为私有性)
		
		animals.setAge(10);   //通过权限为public的setAge()方法录入age的值
		animals.setLeg(4);    //通过权限为public的setLeg()方法录入legs的值
		
		System.out.print("这只动物的名字叫做:" + animals.name + 
				",年龄为:" + animals.getAge() + "岁," + "有" + animals.getLeg() + "条腿");
		//相对应的私有性的age和legs要分别使用getAge()、getLeg()方法输出。
	}
}

class animals{
	String name; //动物的名字
	private int age;  //动物的年龄(私有性)
	private int legs;  //动物的腿的个数(私有性)
	
	public void setLeg(int legs) {  //legs对应的set方法
		this.legs = legs;
	}
	
	public int getLeg(){    //legs对应的get方法
		return legs;
	}
	
	public void setAge(int age) {  //age对应的set方法
		this.age = age;
	}
	
	public int getAge() {   //age对用的get方法
		return age;
	}
}

(代码中涉及到了Java的构造器和this关键字,下面会一一进行介绍)

四、构造器的解释

4.1、构造器的作用

①创建对象

②初始化对象的属性

4.2、注意事项

①如果没有显示的定义类的构造器的话,则系统默认提供一个空参的构造器。

②定义构造器的格式:权限修饰符 类名(形参列表){}  

③一个类中定义的多个构造器,彼此之间会构成重载。

④一旦显示的定义类的构造器后,系统就不会再提供默认的空参构造器。

⑤一个类中,至少有一个构造器。

 4.3、构造器的举例说明

(这些都是构造器)

	public animals() {
		System.out.print(".......");
	}
	
	public animals(String name) {
		name = name;
	}
	
	public animals(String name,int age) {
		name = name;
		age = age;
	}

就3.2的代码来说,下面代码中 animals()就是构造器

        animals animals = new animals();

五、this关键字的使用

this 用来修饰、调用:属性、方法、构造器

5.1、this修饰属性和方法 

this 理解为:当前对象 , 或当前正在创建的对象。
①在类的方法中,我们可以使用 "this. 属性 " 或 "this. 方法 " 的方式,调用当前对象属性或方法。通常情况下,我们都选择省略“this.”。特殊情况下,如果方法的形参和类的属性同名,我们必须显式的使用 "this. 变量 " 的方式,表明此变量是属性,而非形参。
②在类的构造器中,我们可以使用 "this. 属性 " 或 "this. 方法 " 的方式,调用正在创建的对象属性和方法。但是,通常情况下,我们都选择省略“this.”。特殊情况下,如果构造器的形参和类的属性同名,我们必须显式的使用 "this. 变量 " 的方式,表明此变量是属性,而非形参。

5.2、this 调用构造器

① 我们可以在类的构造器中,显式的使用 " this( 形参列表 ) " 的方式,调用本类中重载的其他的构造器!
② 构造器中不能通过 "this ( 形参列表 ) " 的方式调用自己。
③ 如果一个类中有 n 个构造器,则最多有 n -1 个构造器中使用了"this ( 形参列表 )"。
④ 规定: " this( 形参列表 ) " 必须声明在类的构造器的首行!
⑤ 在类的一个构造器中,最多只能声明一个 "this( 形参列表 )",用来调用其他构造器。

5.3、this的举例

如3.2的代码所示:

	public void setLeg(int legs) {  //legs对应的set方法
		this.legs = legs;
	}

	public void setAge(int age) {  //age对应的set方法
		this.age = age;
	}

 最后到这里,文章就结束了,如果在内容上有问题,恳请各位大佬指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值