——- android培训、java培训、期待与您交流! ———-
一、封装
1、 封装(Encapsulation)
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
2、 好处:
将变化隔离。
便于使用。
提高重用性。
提高安全性。
3、 封装原则:
将不需要对外提供的内容都隐藏起来。
把属性都隐藏,提供公共方法对其访问。
二、private
1、private:私有,权限修饰符:用于修饰类中的成员(成员变量,成员函数)
2、私有只有本类中有效。
- 将age私有化以后,类意外即使建立了对象也不能直接访问。
- 但是人应该有年龄,就需要Person类中提供对应访问age的方式。
-
注意:私有仅仅是封装的一种表现形式。私有的最小权限。
之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句。 - 对访问的数据进行操作。提供代码健壮性。
-
- 成员变量都有默认值,局部变量没有默认值。
代码块
练习:private实例
package com.itheima7;
/**
*
* @author jjy
*
* 封装(Encapsulation)
* 封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
* 好处:
* 将变化隔离。
* 便于使用。
* 提高重用性。
* 提高安全性。
* 封装原则:
* 将不需要对外提供的内容都隐藏起来。
* 把属性都隐藏,提供公共方法对其访问。
*
*/
public class PersonDemo {
public static void main(String[] args) {
Person p = new Person();
//p.age=-20;//age被直接访问,所以导致安全隐患。
p.setAge(20);
//p.speak();
}
}
/**
* private:私有,权限修饰符:用于修饰类中的成员(成员变量,成员函数)
* 私有只有本类中有效。
*
* 将age私有化以后,类意外即使建立了对象也不能直接访问。
* 但是人应该有年龄,就需要Person类中提供对应访问age的方式。
*
* 注意:私有仅仅是封装的一种表现形式。私有的最小权限。
*
* 之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句。
* 对访问的数据进行操作。提供代码健壮性。
*
* 成员变量都有默认值,局部变量没有默认值。
*
* @author jjy
*
*/
class Person{
private int age;
//设置方法
public void setAge(int a){
if(a>0 && a<130){
age = a;
speak();
}
else
System.out.println("feifa age");
}
//获取方法
public int getAge(){
return age;
}
//说话方法
void speak(){
System.out.println("age="+age);
}
}
其中p.age=-20时,编辑器提示如下信息:
使用setAge()和getAge()方法时,内存情况图: