成员变量和局部变量的区别
1、在类中的位置不同
成员变量:类中方法外
局部变量:方法内或者方法声明上
2、在内存中的位置不同
成员变量:堆内存
局部变量:栈内存
3、生命周期不同
成员变量:随着对象的存在而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
4、初始化值不同
成员变量:有默认的初始化值
局部变量:没有默认的初始化值,必须先定义,赋值,才能使用
面向对象有三大特征:封装 继承 多态
封装:对外部隐藏实现细节,公开访问方法;
属性的封装:private(私有的)
使用 private 修饰的属性和方法只能在该类的内部访问,在该类以外的其他地方,不允许访问
public class WorkText{
Work work = new Work();
work.name = "张三";
System.out.println(work.name);
System.out.println(work.salary);
}
class Work{
private String name;
private int salsry;
}
这段代码对Work属性进行了封装,所以WorkText访问不到,会报错。
public class WorkerTest
{
public static void main(String[] args){
Worker worker = new Worker();
worker.setName("张三");
worker.setSalary(10000);
System.out.println(worker.getName());
System.out.println(worker.getSalary());
}
}
class Worker{
private String name;
private int salary;
public String getName(){
return name;
}
public double getSalary(){
return salary*0.8;
}
public void setName(String wname){
name = wname;
}
public void setSalary(int wsalary){
salary = wsalary;
}
}
这段代码可以运行,如果想要获取到类里面封装的属性的值,需要构造一个 get 方法;如果想要给类里封装的属性赋值,需要构造一个 set 方法。