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内存原理