封装:
作用:
1.提高代码的安全性
2.提高代码的复用性
3.“高内聚”:封装细节,便于修改内部代码,提高可维护性
4.“低耦合”:简化外部调用,便于调用者使用,便于扩展和写作。
形象的讲,封装可以比喻为电视机,电视机的内部线路很复杂,但是我们使用电视机时只需要用遥控器打开即可,封装也是这样,类里面很复杂,但是封装起来,我们用的时候,只用调用即可。
java中使用“访问控制符”来控制哪些细节需要封装。哪些细节需要暴露的。
四个修饰符:
private:表示私有,只有自己类可以访问
default:表示没有修饰符,同一个包的类可以访问
protected:表示可以被同一个包中的类以及不同包的子类访问
public:表示可以被该项目中的所有包中的类访问
(注意:修饰符只能修饰方法和属性)
变量是方法体中定义的,我们称为临时变量。
属性是类体中定义的。
1. 而权限标示符只用于修饰属性和方法。不修饰变量。 2. 方法中定义的临时变量在方法调用完成之后就不存在了,不需要用修饰符定义!
所以在方法中的是变量,不能用修饰符修饰
变量:一般使用private修饰符,并且要实现get和set方法,用来外部调用
方法:一般使用public修饰符,方便外部调用
通过一段代码,实现封装
public class hello {
private String name;
private int age;
private int id;
public void show() { //用于输出name,age,id的值
// TODO Auto-generated method stub
System.out.println("name="+getName()+" "+"age="+getAge()+" "+"id="+getId());
}
//以下是name,age,id属性的get,set方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
class world{
public static void main(String[] args) {
hello h=new hello(); //创建hello的实例化对象
h.setName("时硕"); //调用hello类中的set方法去赋值给name,age,id
h.setAge(20);
h.setId(5);
h.show(); //调用hello的show方法
}
}