再Java中必须先设计类才能创建对象类:是对象共同特征的描述对象:是真实存在的具体实例 1.2 如何定义类
public class 类名{
1.成员变量(代表属性,一般是名词)
2.成员方法(代表行为,一般是动词)
3.构造器(在此先不进行介绍)
4.代码块
5.内部类(后面介绍)
}
public class Car{
//属性
String name;
double price;
//行为(方法)
public void start(){
方法体
}
public void run(){
方法体
}
}
1.3 如何得到类的对象
类名 对象名 = new 类名(); Car c = new Car();1.4 示例
//定义类
public class Car{
//属性
String name;
double price;
//行为(方法)
public void start(){
System.out.println("汽车正在启动")
}
public void run(){
System.out.println("汽车正在运动")
}
}
//创建对象
Car c = new car();
1.5 定义类的补充注意事项
成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值;一般无需指定初始化值,存在默认值类名首字母建议大写,且有意义,满足”驼峰模式“一个Java文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类必须成为代码文件名实际开发中还是建议一个文件定义一个class类 2. 对象内存图 2.1 多个对象的内存图
1.对象放的位置
堆内存 2.Car c = new Car(); c变量名中存储的是什么?
存储的是对象在堆内存中的地址 3.成员变量(name,price)的数据放在那里,存放于那个位置?
对象中,存在于堆内存中 2.2 两个变量指向同一个对象的内存图
public class Student{
String name;
char sex;
String hobby;
public void show(){
System.out.println(name + "的性别是:" + sex +"爱好:" )
}
}
public class StudentDemo{
public static void main(String[] args){
Student s1 = new Student();
s1.name = "jack";
s1.sex = '男';
s1.hobby = "睡觉,游戏";
s1.show();
Student s2 = s1;
System.out.println(s1); //打印s1对象的地址
System.out.println(s2); //打印s2对象的地址 输出与上一行相同
}
}
垃圾回收机制
注意:当堆内存中的类对象或数组对象,没有被任何变量引用(指向)时,就会被判定为内存中的“垃圾”。Java存在自动垃圾回收器,会定期回收



