目录
1、设计对象并使用
1.1类和对象
类:是对象共同特征的描述
对象:真实存在的具体东西
1.2如何定义类
public class 类名{
1、成员变量
2、成员方法
3、构造方法
4、代码块
5、内部类
}
1.3 创建对象
类名 对象名 = new 类名();
1.4 注意事项
-
用来描述一类事物的类,专业叫做:Javabean类(在Javabean类中,不写main方法)
-
编写main方法的类,叫做测试类。
-
类名首字母建议大写,驼峰命名
-
一个Java文件中可以有多个class类,且只能有一个public修饰,而且 public修饰的类名必须为代码文件名
-
实际开发过程中,建议一个文件只定义一个类
-
成员变量的完整定义格式: 修饰符 数据类型 变量名 = 初始化值; (一般无需指定初始化值,存在默认值)

2、封装
-
对象代表什么,就得封装对应的数据,并提供数据对应的行为
-
降低学习成本
private关键字
-
是一个权限修饰符
-
可以修饰成员(成员变量和成员方法)
-
被private修饰的成员只能在本类中才能访问
3、成员变量和局部变量
成员变量:类中方法外的变量
局部变量:方法里中的变量

4、this关键字
成员变量与局部变量重名时,使用变量会依据
就近原则。此时若想调用
成员变量,要用
this.修饰

this的本质:所在方法调用者的地址值
this的内存原理:

5、构造方法
构造方法(又叫构造器,构造函数)
public class Student{
修饰符 类名(参数){
方法体;
}
}
特点:
-
方法名与类名相同,大小写也一致
-
没有返回值类型(无void)
-
没有具体的返回值(无return)
执行时机:
-
创建对象时由虚拟机调用,不能手动调用构造方法
-
每创建一次对象,就会调用一次构造方法
注意事项:
-
若自己没定义构造方法,系统会自动创建一个 默认的无参的构造方法
-
如果自己的定义了构造方法,系统不再提供默认的构造方法
-
带参构造方法,和无参构造方法,两者方法名相同,但是参数不同,这叫做 构造方法的重载
-
推荐无论是否使用,都要写 无参的构造方法和 带全部参数的构造方法
6、标准的JavaBean类
-
类名要见名知意
-
成员变量要使用private修饰
-
提供至少两个构造方法
-
成员方法,要为每一个成员变量提供对应的setXXX()和getXXX()
IDEA中可以下载ptg插件,使用ptg to JavaBean一键生成
7、对象内存图
一个对象的内存图
-
加载class文件(成员变量和成员方法进入方法区)
-
申明局部变量(栈内存中开辟的,存储对象的地址值)
-
在堆内存中开辟出一个空间(存储成员变量的值,成员方法的地址)
-
默认初始化(给成员变量赋默认的初值)
-
显示初始化(如果定义类的时候成员变量自带初值,赋给这个初值)
-
构造方法初始化
-
将堆内存中的地址值赋给左边的局部变量(将堆内存中的存储对象的地址值赋给栈内存中的局部变量)
