2. Java中引用数据类型有哪些
大约 2 分钟
在Java中,引用数据类型(Reference Types)是指变量保存的是对象的引用,而不是对象本身的值。引用数据类型包括以下几种:
1. 类(Class)
- Java中的每个类都可以作为引用数据类型使用。类类型的变量可以引用对象的实例。
- 包括Java标准库中的类(如
String
、Integer
、ArrayList
等),以及用户自定义的类。
String str = new String("Hello, World!"); // String是引用数据类型
MyClass obj = new MyClass(); // MyClass是用户自定义的引用数据类型
2. 接口(Interface)
- 接口类型也是引用数据类型,变量可以保存实现该接口的类的对象的引用。
- Java标准库中的接口(如
List
、Map
等),以及用户定义的接口。
List<String> list = new ArrayList<>(); // List是接口引用类型
MyInterface myObj = new MyImplementation(); // MyInterface是用户自定义的接口引用类型
3. 数组(Array)
- 数组在Java中是特殊的引用类型。数组可以是基本数据类型的数组(如
int[]
),也可以是引用数据类型的数组(如String[]
、MyClass[]
)。
int[] intArray = new int[10]; // 数组也是引用数据类型
String[] strArray = new String[5]; // String数组是引用数据类型
MyClass[] objArray = new MyClass[3]; // MyClass对象的数组是引用数据类型
4. 枚举(Enum)
- 枚举类型也是引用数据类型,它表示一组预定义的常量。枚举在Java中通过
enum
关键字定义。
enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
Day today = Day.MONDAY; // Day是枚举类型
5. 注解(Annotation)
- 注解类型(Annotation Type)也是一种引用数据类型,注解通常用于在代码中提供元数据。注解是通过
@interface
定义的。
@Override
public String toString() {
return "This is an overridden method.";
}
6. Java标准库中的引用类型
- Java标准库提供了大量的引用数据类型,包括集合框架(如
List
、Set
、Map
)、包装类(如Integer
、Double
)以及输入输出类(如File
、InputStream
)等。
7. 匿名类(Anonymous Class)
- 匿名类是引用数据类型的一种特殊形式,通常用于定义一次性使用的类。它们是在表达式中定义并实例化的类,没有显式的类名。
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("Anonymous class example");
}
};
总结
Java中的引用数据类型包括类、接口、数组、枚举、注解以及标准库中的各种类型。引用数据类型变量存储的是对象的内存地址(引用),而不是对象本身的值。通过引用,可以访问对象在堆内存中的数据,并调用对象的方法。引用数据类型是Java语言的基础,使得Java支持面向对象的编程(OOP)特性,如继承、多态和接口实现。