java中Object问题?
java中所有没有标明父类的类都默认为Object子类,那么为什么自己编写Object类能正确运行呢?难道父类和子类可以同名吗? --------------------编程问答-------------------- 只要不在同一包下,同名是可以的。继承值类描述类的聚合关系,是JVM在解析加载类时的业务描述,体现在类的结构上,跟类的名字没关系。JVM会在加载类时将Object类的相关特性附加给java类,依然是结构上的,跟类的名字没关系的。 --------------------编程问答-------------------- 比如你在包cn.com.mypackage下定义一个Object类。那么它的名称叫做cn.com.mypackage.Object.java
而你说的Object是java.lang.Object
虽然,二者简称都是Object,但类的全称就不一样了。这也是类名前要有包名的作用。
而如果你也定义了定义java.lang.Object ,那么虚拟机也是去加载jdk中的那个Object,不会加载你定义的。 --------------------编程问答-------------------- 你说的这两个Object是完全不同的,你自己定义的一个Object类,仅仅是把类的名字命成了Object,而与命成其他的名字是一样的, 可是java本身JVM的Object类是所有类的根,
java.lang
类 Object
java.lang.Object
--------------------------------------------------------------------------------
public class Object类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
--------------------编程问答-------------------- 不同包同类当然可以了 --------------------编程问答-------------------- 是不同包但是类名是可以相同的 --------------------编程问答-------------------- 呵呵,谢谢了
补充:Java , Java SE