对象——java中的对象

10 篇文章 0 订阅
1 篇文章 0 订阅

java中new出一个对象

对象是什么

对象是类的一个实例,是以类为模板在内存中创建的实际且存在的实例(实际存在的一个东西)
对象就是,根据自己想象的女友(男友)模板,来制造出一个女友(男友)机器人(模板就是自己的想象,也就是图纸,对象就是制造出来的东西)

对象的创建和使用

要创建对象,就要现有类
先创建一个类

//这就是一个简单的类
public class Car {
    String name;
    String color;
    float price;
    
    public void run() {
        System.out.println(name + "车辆可以行使");
    }

    public void stop() {
        System.out.println(name + "车辆可以刹车");
    }
}


根据类再来创建对象(详解 见代码注释)

public class TestCar {

    public static void main(String[] args) {
        /*
         * 使用new 关键字来创建一个对象 new Car构造Car类的对象
         * Car() 使用类的构造方法,初始化类
         * Car bm 声名一个构造方法名称相同的类型的变量
         * = 把在内存中对象存储的地址赋值给左边的bm变量*/
        Car bm = new Car();
        bm.name = "宝马";
        bm.color = "黑色";
        bm.price = 4000f;
        bm.run();
        bm.stop();

        System.out.println("--------------");
        
        Car wl = new Car();//创建多个对象
        wl.name = "五菱";
        wl.color = "五彩斑斓";
        wl.price = 40000f;
        wl.run();
        wl.stop();
    }
}

在这里插入图片描述

对象与引用

java中的数据类型:
基本类型和引用类型
引用类型:就是除了基本类型以外的都是引用类型(用类作为类型、数组、接口)也叫做复合类型,它的值其实是对象在内存空间中的地址,而具体的对象是存在在堆中

Car car = new Car();
在通常情况下,我们把这个动作称为创建了一个对象,其实它包含了三个动作。
1、右边的new Car(),是以Car这个类为模板,然后调用Car类的构造函数,在内存堆里面创建一个Car类的对象
2、左边的“Car car”是创建了一个类型为Car的引用型变量
3、“=”的意思是值将对象的引用指向刚刚建立好的那个Car对象

new Car();这个语句在堆空间中创建出了一个实体,虽然它确确实实的存在的实体,但是我们是看不到、摸不到的
对象本身是没有名字的,我们是不能直接去访问到它的,所以我们就需要一个对象的引用来作为桥梁间接的访问对象

对象就好比是一个气球,我们是抓不到它的,引用变量就好比事故绳子,系在气球上,这样我们就可以操控这个气球了
1、Car car1:就单纯的创建了一个绳子,没有再做任何操作
2、Car car2:又创建了一个绳子,也没再做任何的操作
3、car1 = new Car(); 这些就是给car1连接上了一个气球(对象)。
4、car2 = car1; 这里就要注意了,这里发生了复制的作用,但更说明的是,对象这个本身是没有被复制的,复制只是对象的引用,就是用了两根绳子共同系在了同一个气球上。

画图示意
请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值