JAVA之引用类型
2022-08-29 本文已影响0人
每天进步一点点变成更好的自己
java中数据类型分为基本数据类型和引用数据类型。
1、引用数据类型
java中的数据类型分为基本数据类型和引用数据类型。
基本数据类型比如int、float、long等。
2、引用数据类型和基本数据类型
- 引用数据类型和基本数据类型的相同点
1、都可以用来创建变量,可以赋值和使用其值
2、本身都是一个地址 - 引用数据类型和基本数据类型的不同点
1、基本类型变量的值,就是地址对应的值。
2、引用数据类型的值还是一个地址,需要通过二级跳找到实例。
3、引用数据类型是java的一种内部类型,是对所有自定义类型和数组引用的统称,并非特指某种类型
3、 java有一个的大大的布告板,放着所有的实例
Merchandise m1=new Merchandise ();
使用new操作符可以创建某个类的一个实例。
在运行的时候,所有这些创建出来的实例都被java放在内存里,一个叫做堆(heap)的、类似公告板的地方。
- 创建一个实例,就是根据类的定义,点出需要的纸,订成一个小本子,挂在布告板上。实例本身,可以认为是一个小本子。
- 引用里存放的,相当于某个本子所在的布告板的地址。
比如引用类型如下:
{
public static void main(String[] args){
// >> TODO m1 是Merchandise类型,只能指向Merchandise的实例
//>> TODO 引用数据类型变量包含2部分类型:类型和实例。
// TODO 每一个引用数据类型的变量(简称引用),都是指向某个类(class 、自定义类型)的一个实例/对象。不同类型的引用在java的世界里都是引用。
// >> TODO 引用的类型信息在创建时已经确定,可以通过给引用赋值,让其指向不同的实例。
//比如 m1 是Merchandise类型,只能指向Merchandise的实例。
Merchandise m1;
m1= new Merchandise();
Merchandise m2 = new Merchandise();
Merchandise m3 = new Merchandise();
Merchandise m4 = new Merchandise();
Merchandise m5 = new Merchandise();
// >> TODO 给一个引用赋值,则两者的类型必须一样。m5可以给m1赋值,因为他们类型是一样的。
m1 = m5 ;
System.out.println("m1="+m1);
System.out.println("m1="+m2);
System.out.println("m1="+m3);
System.out.println("m1="+m4);
System.out.println("m1="+m5);
}
}
引用数据类型输出的是一个地址,返回结果内容如下:
m1=Merchandise@1b6d3586
m2=Merchandise@4554617c
m3=Merchandise@74a14482
m4=Merchandise@1540e19d
m5=Merchandise@1b6d3586
4、类、对象和引用的关系
- 类和对象的关系:
类是对象的模板,对象是类的一个实例
一个java程序中类名相同的类只能有一个,也就是类型不会重名
一个类可以有很多对象
一个对象只能根据一个类来创建 - 引用和类以及对象的关系
引用必须是、只能是一个类的引用
引用只能指向其所属的类型的类的对象
相同类型的引用之间可以赋值
只能通过指向一个对象的引用,来操作一个对象,比如访问某个成员变量