1.在学习封装前必须了解的一些定义
(1)属性(全局变量):
定义在类中,可以直接作用于类的内部的所有的方法
(2)局部变量:
定义在方法内部的变量或者方法的参数,其只能作用于它所在的方法
(3)全局变量与局部变量的区别
局部变量只能应用于当前的方法,其生命周期随着方法的执行结束就会销毁
全局变量从类的加载就会执行,它可以作用于当前对象的所有方法,它的生命周期是与该类的对象是可以共存的
(4)注意事项:当局部变量和属性重名时如何处理
默认状态下,方法的内部直接使用的是局部变量。如果想使用属性,则需要使用this.变量名来区分当前使用的是全局变量而不是局部变量
public class Person {
public String name;//该属性的默认值是null
public int age;
public void a(){
this.name = "张三";
System.out.println(this.name);
}
public void c(int age){
this.age = age;//通过局部变量给属性赋值
}
public void d(){
int age = 10;//这也是局部变量
}
}
2.属性的封装
(1).如何保证数据的安全有效性
1.属性私有
属性用private来修饰,private修饰符修饰的属性只能在该类的内部方法中使用,无法被外部直接调用
2.提供公有的get和set方法
其目前是对属性的访问进行处理
代码如下:
public class Person {
private String name;//保证了属性是不能随意改
private int age;
public void setName(String name){//是让别人可以通过该方法对属性进行修改
this.name = name;
}
public String getName(){//让别人通过该方法可以获取属性的值
return this.name;
}
public int getAge(){
return this.age;
}
public void setAge(int age){
this.age = age;
}
}