> 文档中心 > JavaSE学习——封装

JavaSE学习——封装


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;//这也是局部变量    }}

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

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;    }}