内容导航:
- 前言
- 1、创建对象
- 2、使用对象
- 3、对象创建过程
- 4、案例分析
前言
类是对象的蓝图或者原型,由类可以创建具体对象,以便为我所用。
1、创建对象
使用new调用构造方法创建类的一个对象。
- 调用无参数的构造方法
类名 对象名 = new 该类的构造方法();
例:Book javaBook = new Book();
调用有参数的构造方法
类名 对象名 = new 该类的构造方法(参数1,参数2…);
例:Book javaBook = new Book(1,”西游记”);
2、使用对象
使用对象:使用“.”进行以下操作
访问类的属性:对象名.属性
调用类的方法:对象名.方法名()
javaBook.ISBN = “ISN8892"; //给属性赋值
System.out.println(javaBook.ISBN); //获取属性值
javaBook.borrow(); //调用类的方法,该方法中的操作将被执行
3、对象创建过程
假设存在一个类Person,创建对象语句如下所示:
Person p=new Person();
将上面的语句分为两个步骤:
Person p;
p=new Person();
创建一个对象后,其实有两个实体:
对象引用变量,在栈空间,即p,称为引用,或句柄,存的是对象的虚地址。
对象本身,即使用new Person()在堆空间里创建的实体,将对象的属性值存储到堆里。
我们可以使用引用变量操作对象的属性和方法
4、案例分析
public class Cars {
private String color;
private double price;
public Cars(String color,double price){
this.color = color;
this.price = price;
}
public void setColor(String color) {
this.color = color;
}
public void setPrice(double price) {
this.price = price;
}
public static void main(String[] args) {
Cars car 1= new Cars("black",60000);
Cars car 2= new Cars(“red",50000);
}
}
1、把Cars类的字节码加载到内存;
2、根据Cars类的声明,把属性color、price初始化到内存堆,并赋初值,分别为null和0.0;
3、根据代码,调用两个参数的构造方法,把black、60000赋值给color和price;
4、在栈中创建一个变量car1,用来引用堆中对象的具体属性,car1的值是一个16进制的数,表示一个虚地址;
5、重复2-4创建对象car2,car2与car1是不同的引用,指向不同的具体对象。也就是说,car1和car2分别引用不同的具体内容。
持续更新,欢迎留言提议!
码字很累,多点赞多赞赏!