【发布时间】:2013-06-15 18:00:20
【问题描述】:
Java中是否有默认类被所有类默认扩展?
示例:如果我有一个简单的类,例如:
Class A {
String a;
}
这个类是否默认扩展了一个类?
【问题讨论】:
标签: java class inheritance extend
Java中是否有默认类被所有类默认扩展?
示例:如果我有一个简单的类,例如:
Class A {
String a;
}
这个类是否默认扩展了一个类?
【问题讨论】:
标签: java class inheritance extend
java.lang.Object 类是所有类的超类。
类对象是类层次结构的根。每个类都有 Object 作为超类。所有对象,包括数组,都实现了这个类的方法。
你可以测试一下:
A a = new A();
if(a instanceof Object){
System.out.println("Object is superclass of all classes");
}
【讨论】:
在 Java 中,所有内容(除了普通的旧数据类型;int、boolean、double 等)隐式派生自 java.lang.Object。
特别是,该类包含有用的函数,例如用于线程同步的lock() 和notify()。
完整列表见http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html
【讨论】:
是的,它正在扩展 Object 类。
对象是所有java类的根类。
【讨论】:
“Java 平台中的所有类都是对象的后代”: http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
【讨论】:
java.lang.Object 是所有类的超类。 Java提供的所有类或者你自己创建的类,默认都是Object类的子类
【讨论】:
是的,默认情况下所有类都扩展了 java 中的 Object 类。这是你想要的吗?
【讨论】:
是的,它正在扩展java.lang.Object。
【讨论】:
类Object 是类层次结构的根。每个类都有 Object 作为超类。
【讨论】:
是的,“对象”类是所有其他类的根类。这是一个示例来证明使用 Object 引用变量来查找包和类。如您所见,我没有将 Object 类明确包含到项目中,但我仍然可以将引用变量分配给“Object”类并使用它由于“FindingClass”类继承了Object类,Object类引用变量现在可以访问“FindingClass”对象。只有当前类“FindingClass”继承Object类时才有可能。
package Chapter9.Packages;
class FindingClass{
}
public class FindClass {
public static void main(String[] args) {
Object obj;
FindingClass fcls = new FindingClass();
obj=fcls;
System.out.println(obj.getClass());
}
}
输出:
class Chapter9.Packages.FindingClass
【讨论】:
导入 java.util.*; java中的默认类
【讨论】: