gpt4 book ai didi

Java - 类型与实例类型

转载 作者:行者123 更新时间:2023-11-30 07:45:45 25 4
gpt4 key购买 nike

当我做类似的事情时:

List<Integer> myList = new LinkedList<>();

对象“myList”是 List 类型吗?我对正确的定义更感兴趣。这样说对吗:

myLyst is of type List but its instance is of type LinkedList?

这对我来说没有意义,因为对象只能是一种类型。所以也许说它是 LinkedList 类型但仅限于接口(interface) List 会更好?

最佳答案

myList 有一个具体的运行时类,即 LinkedList

但是 LinkedList 作为一种类型,是 List 的子类型,所以说 myList 是一个也是正确的 列表

在运行时可以确定的是,一个对象只有一个运行时类,在本例中是LinkedList。可以通过调用 myList.getClass() 读取此类。

但是检查类型层次结构,即一个对象是否是给定类型(类或接口(interface))的实例,并不要求它所检查的类型是一个类。所以:

myList instanceof LinkedList //true
myList instanceof List //true
myList instanceof Collection //true
myList instanceof ArrayList //false,
//because it's not an instance of ArrayList,
//and LinkedList is not a subtype of ArrayList

关于Java - 类型与实例类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51312813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com