JAVA中面向对象——封装
面向对象三大特性
封装、继承、多态
封装
定义
把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作。对不可信的进行信息隐藏。在一个对象内部,某些代码或者某些数据可以是私有的,不能被外界访问。通过这种方式,现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。即:封装是将对象的信息隐藏在对象内部,禁止外部程序直接访问对象内部的属性和方法。
实现
(1)修改属性的可见性,限制访问权限 (2)设置属性的读取方法 (3)在读取属性的方法中,添加对属性读取的限制
可以简单理解为: (1)属性私有化(隐藏内部细节),方法是共有的; (2)提供公共的方法来访问私有的属性,getter(用来取值,return),setter(用来赋值,parameter)
实现代码
package sy2_1
;
public class Student {
private String name
;
private String sex
;
private int age
;
private String classid
;
private String schoolid
;
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
;
}
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
) {
Student P1
=new Student("KIKO","女",22,"电信17","201711111111");
P1
.printInfo();
}
}