一、成员变量和局部变量
成员变量和局部变量的区别
1.类中位置不同:成员变量(类中方法外)局部变量(方法内部或方法声明上)
2.内存中位置不同:成员变量(堆内存)局部变量(栈内存)
3.生命周期不同:成员变量(随着对象的存在而存在,随着对象的消失而消失)局部变量(随着方法的调用而存在,醉着方法的调用完毕而消失)
4.初始化值不同:成员变量(有默认初始化值)局部变量(没有默认初始化值,必须先定义,赋值才能使用)
二、封装
1.private关键字
private是一个修饰符,可以用来修饰成员(成员变量,成员方法)
被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
1.提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰
2.提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰
封装的优点
(1)良好的封装能够减少耦合。
(2)类内部的结构可以自由修改。
(3) 可以对成员变量进行更精确的控制。
(4) 隐藏信息,实现细节。
下面展示一些 内联代码片
。
package lx;
public class lx1 {
public static void main(String[] args) {
jyga4one student1=new dl66one();
student1.setAge(118);
student1.setName("lx");
student1.show();
lx1one student2=new lx1one();
//student student2=student1;
student2.setAge(66);
student2.setName("颜代李");
student2.show();
student1.show();
}
}
package lx;
public class lxone {
private String name;
private int age;
private boolean male;
public void setMale(boolean boy) {
male=boy;
}
public boolean isMale() {
return male;
}
public void setAge(int num) {
if (num < 200 && num >= 0) {
age = num;
} else {
System.out.println("数据错误");
}
}
public int setAge() {
return age;
}
public void setName(String name) {
this.name=name;
}
public String setName() {
return name;
}
public void show() {
System.out.println("我叫:" + name + ",年龄"+ age);
}
}