JAVA中面向对象——封装

JAVA中面向对象——封装

面向对象三大特性

封装、继承、多态

封装

定义

  • 把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作。对不可信的进行信息隐藏。在一个对象内部,某些代码或者某些数据可以是私有的,不能被外界访问。通过这种方式,现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
  • 即:封装是将对象的信息隐藏在对象内部,禁止外部程序直接访问对象内部的属性和方法。

实现

(1)修改属性的可见性,限制访问权限
(2)设置属性的读取方法
(3)在读取属性的方法中,添加对属性读取的限制

  • 可以简单理解为:
    (1)属性私有化(隐藏内部细节),方法是共有的;
    (2)提供公共的方法来访问私有的属性,getter(用来取值,return),setter(用来赋值,parameter)

实现代码

package sy2_1;
/**
*	1.	定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、 “获得姓名”、“获得性别”、“获得年龄”、构造函数、printInfo()(实现将学生的信息输出显示),并要求实例化一个学生,并输出学生信息。
*/
public class Student {
	//定义私有变量
	private String name;
	private String sex;
	private int age;
	private String classid;
	private String schoolid;
	//构造函数,getter/setter,在eclipse中通过右击->Source->Generate Constructor using Field自动生成
	public Student(String name, String sex, int age, String classid,
			String schoolid) {
		super();
		this.name = name;
		this.sex = sex;
		this.age = age;
		this.classid = classid;
		this.schoolid = schoolid;
	}
	//getter/setter,在eclipse中通过右击->Source->Generate Getters and Setters自动生成
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getClassid() {
		return classid;
	}
	public void setClassid(String classid) {
		this.classid = classid;
	}
	public String getSchoolid() {
		return schoolid;
	}
	public void setSchoolid(String schoolid) {
		this.schoolid = schoolid;
	}
	//输出方法
	public void printInfo(){
		System.out.println("姓名:"+getName()+" 性别:"+getSex()+" 年龄:"+getAge()+" 班号:"+getClassid()+" 学号:"+getSchoolid());
	}
}
package sy2_1;
/**
*	实例化
*/
public class Person {
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Student P1=new Student("KIKO","女",22,"电信17","201711111111");
		P1.printInfo();
	}
}


运行结果

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值