Java学习:类、对象及引用之间的关系

一、类、对象及引用之间的关系

1、类和对象的关系

  • 类是对象的模板,对象是类的一个实例
  • 一个Java程序中,类名相同的类只能有一个
  • 一个类可以有很多对象;一个对象只能根据一个类来创建

2、引用和类以及对象之间的关系

  • 相同类型的引用可以相互赋值
String a = new String("shi");
String b = new String("ming");
a = b; //可以用b给a赋值
  • 引用只能指向其所属类型的类的对象
String a = new Integer(1);
//比如String类型不能指向Interger
  • 引用必须是、只能是一个类的引用
  • 只能通过指向一个对象的引用,来操作一个对象,比如访问某个成员变量

二、为什么String类打印出的是值,而不是一个地址?

String a = new String("zhu")
System.out.println(a);
//不是说引用指向的是个地址,为什么打印a打印出来的不是地址,而是"zhu"

1、system.out.println这个方法实际上会调用打印变量的toString()方法,如果没覆写的话,直接调用的是父类Object的toString()方法
2、String类的toString()方法实际上是覆盖的,会直接打印出值,所以想看最终打印出什么,还是要看toString()方法

三、为什么String类不用new对象,可以直接String a = “nie”?

  • Java存在一个常量池,可以用来存储字符串
  • String类是我们平常项目中使用频率非常高的一种对象类型,jvm为了提升性能和减少内存开销,避免字符的重复创建,其维护了一块特殊的内存空间,即字符串池,当需要使用字符串时,先去字符串池中查看该字符串是否已经存在,如果存在,则可以直接使用,如果不存在,初始化,并将该字符串放入字符串常量池中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱夜来香A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值