目录
2.对象内存图
2.1 对象内存图(单个对象)
2.2对象内存图(多个对象)
3. 成员变量和局部变量
3.1 什么是成员变量和局部变量
成员变量: 类中方法外的变量
局部变量: 方法中的变量
3.2 成员变量和局部变量区别
4. 封装(private)
4.1 private 关键字
* 是一个权限修饰符
* 可以修饰成员(成员变量和成员方法)
* 作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问
针对private修饰的成员变量,如果被其它类使用,提供相应的操作
* 提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰
* 提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰、
4.2 private关键字的使用
一个标椎类的编写:
* 把成员变量用private修饰
* 提供对应的getXxx()/setXxx()方法
代码示例:学生类
/*
学生类
*/
public class Student {
//成员变量
private String name;
private int age;
//get/set方法
public void setName(String n) {
name=n;
}
public String getName() {
return name;
}
public void setAge(int a){
age=a;
}
public int getAge(){
return age;
}
public void show(){
System.out.println(name+","+age);
}
}
/*
学生测试类
*/
public class StudentDemo {
public static void main(String[] args){
//创建对象
Student s= new Student();
//使用set方法给成员变量赋值
s.setName("hmm");
s.setAge(19);
s.show();
//使用get方法获取成员变量的值
System.out.println(s.getName()+"---"+s.getAge());
}
}
4. 封装(this)
4.3 this关键字
1. this修饰的变量用于指代成员变量
* 方法的形象如果与成员变量同名,不带this修饰的变量
指的是形参,而不是成员变量
* 方法的形参没有与成员变量同名,不带this修饰的变量
指的是成员变量
2. 什么时候使用this呢? 解决局部变量隐藏成员变量
3. this: 代表所在类的对象引用
* 记住: 方法被那个对象调用,this就代表那个对象
public class Student { //成员变量 private String name;public String getName(){
return name;
}
public void setName(String name){
this.name = name
}
}
4.4 this内存原理