栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

基础
    • 一、类、对象及引用之间的关系
    • 二、为什么String类打印出的是值,而不是一个地址?
    • 三、为什么String类不用new对象,可以直接String a = "nie"?

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

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为了提升性能和减少内存开销,避免字符的重复创建,其维护了一块特殊的内存空间,即字符串池,当需要使用字符串时,先去字符串池中查看该字符串是否已经存在,如果存在,则可以直接使用,如果不存在,初始化,并将该字符串放入字符串常量池中
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/966677.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号