Java 是否可以在不引用特定类的情况下创建对象,如下所示?

Java 是否可以在不引用特定类的情况下创建对象,如下所示?,java,class,object,Java,Class,Object,在这段代码中,objectobj=newobject()创建对象“obj”时没有遵循传统的“ClassName objName=new ClassName();”惯例,我看到的大多数惯例都是使用类。我对Java非常陌生,不知道如果不输出编译时错误或其他东西,它是如何工作的 public class Sample { public void writeMe(Object obj){ System.out.println("Object"); }

在这段代码中,
objectobj=newobject()创建对象“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);
    } 
}
可以使用这种语法实例化对象,还是这是一个特定的用例

Object obj = new Object(); 

ClassName objName = new ClassName();
它们遵循相同的模式
Object
是类的名称,正如
ClassName
是。在上述内容之后,
obj
表示类
object
的对象
objName
引用类
ClassName
的对象


Object
恰好内置于该语言中,并且它恰好是所有其他类的祖先,但这两个事实都与这些声明的语法无关。

它确实遵循
ClassName objName=new ClassName()约定。在本例中,类名是,这是一个特定的类
实际上没有一个名为
Banana{}
的类?@SomilVarshney:不。你不能。@LouisWasserman所以我猜对象是超类这一事实与它有关?还有,为什么像
objectobj=newstring()编译没有任何错误?这里唯一相关的是对象是。也就是说,每个类的祖先都允许您编写
对象o=new ClassName()