1: 成员变量和局部变量的区别 (理解)
(1) 在类中的位置不同
成员变量: 类中方法外
局部变量: 方法定义中或者方法声明上
(2) 在内存中的位置不同
成员变量: 在堆中
局部变量: 在栈中
(3) 生命周期不同
成员变量: 随着对象的创建而存在, 随着对象的消失而消失
局部变量: 随着方法的调用而存在, 随着方法的调用完毕而消失
(4) 初始化值不同
成员变量: 有默认值
局部变量: 没有默认值, 必须定义, 赋值, 然后才能使用
2: 类作为形式参数的问题?(理解)
(1) 如果你看到一个方法需要的参数是一个类名, 就应该知道这里实际需要的是一个具体的对象.
3: 匿名对象 (理解)
(1) 没有名字的对象
(2) 应用场景
A: 调用方法, 仅仅只调用一次的时候.
b: 可以作为实际参数传递.
4: 封装 (理解)
(1) 隐藏实现细节, 提供公共的访问方式
(2) 好处:
A: 隐藏实现细节, 提供公共的访问方式
B: 提高代码的复用性
C: 提高代码的安全性
(3) 设计原则
把不想让外界知道的实现细节给隐藏起来, 提供公共的访问方式
(4)private 是封装的一种体现.
封装: 类, 方法, private 修饰成员变量
5:private 关键字 (掌握)
(1) 私有的意义, 可以修饰成员变量和成员方法
(2) 特点:
被 private 修饰的后的成员只能在本类中被访问
(3)private 的应用:
以后再写一个类的时候:
把所有的成员变量给 private 了
提供对应的 getXxx()/setXxx() 方法
6:this 关键字 (掌握)
(1) 代表当前类的引用对象
记住: 哪个对象调用方法, 该方法内部的 this 就代表那个对象
(2)this 的应用场景:
A: 解决了局部变量隐藏成员变量的问题
- class Student {
- private String name;
- private int age;
- public Student(){}
- public Student(String name,int age) {
- this.name = name;
- this.age = age;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- }
- class StudentDemo {
- public static void main(String[] args) {
- // 方式 1
- Student s1 = new Student();
- s1.setName("林青霞");
- s1.setAge(27);
- System.out.println(s1.getName()+"---"+s1.getAge());
- // 方式 2
- Student s2 = new Student("刘意",30);
- System.out.println(s2.getName()+"---"+s2.getAge());
- }
- }
来源: http://www.bubuko.com/infodetail-2638434.html