Java中的封装、this()调用构造方法

封装

什么是封装?
在java中通过关键字private实现封装。封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度

封装的作用
① 对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。
②对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。

如下演示如何实现封装

/**
 * 实现学生类的属性封装
 */
public class Student {
	private double height;  //身高
	private String name;   //姓名
	
	public double getHeight(){    //get用来取值
		return height;     //返回height对象
	}
	public void setHeight(double height){
		this.height = height;    //set用来赋值
	}
	public String getName(){
		return name;
	}
	public void setName(String name){
		this.name = name;
	}
}

接下来需要给属性赋值,并输出结果

如何使用this()调用构造方法

注意事项:
1.使用this调用重在的构造方法,只能在构造方法中使用,必须是构造方法的第一条语句

2.实例方法中使用this。实例方法只能通过对象来调用,不能通过类名来调用。当实例方法中含有this关键字的时候即表示正在调用该方法的当前对象

/**
 * 如何使用this()调用构造方法
 */
public class Constructor {
	public String name;   //姓名
	public String grade;  //年级
	public int age;    //年龄
	
	public Constructor(String name,int age){
		this.name = name;
		this.age = age;
	}
	
	public Constructor(String name,int age,String grade){
		this(name,age);    //调用上面的构造方法
		this.grade = grade;
	}
	
	public void print(){       //输出信息
		System.out.println("名字是:"+name+"年龄是:"+age+"年级是:"+grade);
	}
}

如下演示测试类的结果
在这里插入图片描述

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面向对象 一种编程思想: 类:是对有具有共同特征和行为的综合。对象是类的具体实现 类的定义: public class 类名{ //类名首字母大写 ,大驼峰命名 //类包含属性和方法 属性:成员变量,实例变量 public String name; 方法:成员方法,实例方法 public void methodName(){ } } //对象 类名 对象名 = new 类名(); //创建对象需要调用类的构造方法 构造方法:类名() 特点:方法名和类名相同,没有返回值类型 public Person(){ private String name; public void setName(String name){ this.name = name; } } public static void main(){ Person p = new Person(); p.setName("abac"); } 构造方法的重载 public 类名(String name,int age){ } 重载overload的特征:在同一个类同一个方法名,参数列表不同(个数,顺序,类型) this:关键字,对本类对象的引用,可以调用本类的属性和方法 this(); 对本类对象构造的调用,如果有参则调用有参构造 而且this()必须放在构造方法的第一行 封装 :隐藏内部的实现细节,对外提供公共的接口 123456789101112131415161718192021222324252627282930313233343536373839 继承 继承:extends 拓展和延伸 子类对父类的拓展和延伸 public Person(){ String name; } public China extends Person(){ //China 继承 Person //其实Person也有继承 ,默认继承Object } 特点: java的类只有单继承,接口具有多继承 继承具有单根性,一个类只能有一个父类 不能继承父类的有三种情况 · 用private修饰的属性和方法 · 构造方法 · 用protected修饰的属性和方法,父类和子类不在同一包下不能继承 子类又称派生类,父类又称基类和超类 super:关键字,对父类对象的引用,可以调用本类的属性和方法 super(); 对父类对象构造的调用,如果有参则调用有参构造 而且this()必须放在构造方法的第一行 static : 修饰方法 修饰属性 修饰代码块 final: 修饰属性 修饰方法 修饰类

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值