------- android培训、java培训、期待与您交流! ----------
1-3 封装(Encapsulation)
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处:1、将变化隔离。2、便于使用。3、提高重用性。4、提高安全性。
封装原则:1、将不需要对外提供的内容都隐藏起来。2、把属性都隐藏,提供公共方法对其访问。
示例:
Person.java
/*
人:
属性:年龄
行为:说话
*/
class Person{
//private:私有,是一个权限修饰符,用于修饰
//不希望别人直接访问赋值,需要通过私有化把属性进行隐藏
private int age;
//通过提供set、get公共方法对其访问
public void setAge(int a ){
//在set方法内可以对属性的赋值进行限制
if(a>0&&a<130){
age = a;
}else
System.out.println("错误的数据");
}
public int getAge(){
return age;
}
void speak(){
System.out.println("age="+age);
}
}
class PersonDemo{
public static void main(String[] args){
Person p = new Perso();
//通过其他方式访问
p.setAge(20);
p.speak();
//赋值不合法,set方法就不允许成功赋值
p.setAge(-20);
}
}
结果:
age = 20
错误的数据
注意:
1、私有仅仅是封装的一种体现而已。
2、private关键字:是一个权限修饰符,用于修饰成员(成员变量和成员函数),被私有化的成员只在本类中有效。
3、常用场景之一:将成员变量私有化,对外提供对应的set、get方法对其进行访问,提高对数据访问的安全性。
1-4构造函数
特点:
1、函数名与类名相同。
2、不用定义返回值类型。
3、没有具体的返回值。
附:在构造函数前面加上返回值就只是一般函数了。
作用:给对象进行初始化。
注意:
1、一般函数和构造函数什么区别呢?
构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化。
一般函数:对象创建后,需要函数功能时才调用。
构造函数:对象创建时,会调用并且只调用一次。
一般函数:对象创建后,可以被调用多次。
2、创建对象都必须要通过构造函数初始化。
一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数。
如果在类中定义了指定的构造函数,那么类中的默认构造函数就没有了。
3、多个构造函数是以重载的形式存在的。
1-5 this关键字
this代表其所在函数所属对象的引用。换言这,this代本类对象的引用。
当成员变量和局部变量重名,可以用关键字this来区分,this就是所在函数所属对象的引用。
简单说,哪个对象调用了this所在的函数,this就代表哪个对象。一般方法调用默认加this。
什么时候使用this关键字呢?
当在函数内需要用到调用该函数的对象时,就用this。