《JAVA-面向对象》
01.面向对象介绍
02.类和对象介绍
03.封装
- 什么是封装?
- 告诉我们,如何正确设计对象的属性和方法。
- 原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为。
- 理解封装思想的好处?
- 让编程变得很简单,有什么事,找对象,调方法就行。
- 降低我们的学习成本,可以少学、少记,或者说压根不用学,不用记对象有哪些方法,有需要时去找就行。
- private关键字是一个权限修饰符;
- 可以修饰成员(成员变量和成员方法);
- 被private修饰的成员只能在本类中才能访问;
- 针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作;
- 提供“setXxx(参数)”方法,用于给成员变量赋值,方法用public修饰;
- 提供“getXxx()”方法,用于获取成员变量的值,方法用public修饰;
04.就近原则和this关键字
- 就近原则
- System.out.println(age);
- System.out.println(this.age);
- this的作用?
- this的本质和内存图
05.构造方法
- 构造方法的作用?
- 创造对象的时候,由虚拟机自动调用,给成员变量进行初始化的。
- 构造方法有几种,各自的作用是什么?
- 无参数构造方法:初始化的对象时,成员变量的数据均采用默认值。
- 有参数构造方法:在初始化对象的时候,同时可以为对象进行赋值。
- 构造方法有哪些注意事项?
- 任何类定义出来,默认就自带了无参数构造器,写不写都有。
- 一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写无参数构造器了。
06.标准的javabean类
- 标准的JavaBean类
- 类名需要见名知意
- 成员变量使用private修饰
- 提供至少两个构造方法
- 成员方法
- 提供每一个成员变量对应的setXxx()/getXxx()如果还有其他行为,也需要写上
public class test13 {
private String username;
private String password;
private String email;
private String gender;
private int age;
public test13() {
}
public test13(String username, String password, String email, String gender, int age) {
this.username = username;
this.password = password;
this.email = email;
this.gender = gender;
this.age = age;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
07.三种情况的对象内存图
- 一个对象的内存图
- 加载Class文件;
- 申明局部变量;
- 默认初始化;
- 显示初始化;
- 构造方法初始化;
- 将堆内存中的地址赋值给左边的局部变量;
