首页 > 解决方案 > 是否可以在不引用特定类的情况下创建对象,如下所示?

问题描述

在这段代码中,Object obj = new Object();创建了一个对象“obj”,而不遵循"ClassName objName = new ClassName();" 我见过的大多数使用类的常规约定。我对 Java 很陌生,如果不输出编译时错误或其他东西,我不明白它是如何工作的。

public class Sample {
    public void writeMe(Object obj){
        System.out.println("Object");
    }

    public void writeMe(String s){
        System.out.println("String");
    }
    
    public static void main(String[] args){
        Sample s = new Sample();
        Object obj = new Object();
        s.writeMe(obj);
    } 
}

可以使用这种语法实例化对象还是这是一个特定的用例?

标签: javaclassobject

解决方案


Object obj = new Object(); 

ClassName objName = new ClassName();

这些遵循相同的模式。 Object是一个类的名称,就像ClassName是一样。在上面之后,obj指的是一个类的对象ObjectobjName指类的对象ClassName

Object碰巧内置在语言中,并且碰巧是所有其他类的祖先,但是这些事实都与这些声明的语法无关。


推荐阅读