在java中在哪里使用对象类?
我需要了解java中的对象类。这里有几个代码我想知道我们为什么使用它,在哪里使用它
Object obj = arg0.getItemAtPosition(arg2);
String str = obj.toString();
你可以在下面搜索框中键入要查询的问题!
我需要了解java中的对象类。这里有几个代码我想知道我们为什么使用它,在哪里使用它
Object obj = arg0.getItemAtPosition(arg2);
String str = obj.toString();
# 1 楼答案
对象类在变量的特定类未知时使用。对象类是许多类(整数、Sting等)的父类。在上面提到的情况下,
getItemAtPosition()
类返回一个Object
实例,因为例如微调器中可以有许多不同的类类型,所以它返回一个通用类(对象),然后在上下文中已知目标类型时,将其转换为字符串(或其他类,具体取决于情况)# 2 楼答案
所有的“
Object
”都继承自Object
,所以Java中的任何类基本上也是Object
类型http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html
因此,所有类都隐式地有几个方法:
如有必要,您可以重写这些方法以提供自己的功能
例如,您可以重写
toString
方法,以返回一个String
,您认为它总结了类的特定实例。然后,如果将Object
传递给System.out.println
之类的对象,它将打印toString
方法返回的内容更多阅读:
http://journals.ecs.soton.ac.uk/java/tutorial/java/javaOO/objectclass.html
下面是一些不错的继承教程:
http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
http://docs.oracle.com/javase/tutorial/java/concepts/inheritance.html
http://www.cs.utexas.edu/~lavender/courses/tutorial/java-06.pdf
# 3 楼答案
通常
Object
只应在处理不同或未知类型的元素集合时使用。然后通常是instanceof
和cast语句。许多API返回Object
,然后可以提供不同的类型,其中一些是Java 4和更早版本在泛型之前的遗留。在任何可能的情况下,这都应该被泛型取代编辑
根据一些基本规则,您永远不应该执行以下操作:
Object ob = new Object();
在任何代码中都不应该有理由实例化Object
。唯一应该使用Ojbect
的时间是不知道类型的时候泛型如何改变这一点的一个例子是
Collections.max
。在Java4中,它返回Object
(Java 4 Collections),在Java6中,它有一个返回泛型T
(Java 6 Collections)的版本java 4:
public static Object max(Collection coll)
返回
Object
,因为当时Collection
不是泛型java 6:
public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)
返回
T
,因为后Java 5Collection
是泛型的重点是,在过去,许多API返回
Object
仅仅是因为Java没有泛型。现在,在大多数情况下,应该使用泛型,但并非所有API都已更新。接下来,你应该尽可能使用泛型而不是Object