将对象作为参数传递

Cha*_*eep 1 java function object

我有一个java代码,我试图通过将类的对象传递给函数来打印语句.以下是代码:

import java.io.*;

class Abc
{

    public static void print(Object o)
    {
       o.name();
    }

    public static void main(String args[])
    {
       Vendor obj=new Vendor();
       print(obj);
    }
}

class Vendor
{
    public void name()
    {
       System.out.println("The name of the customer is chandeep");
    }

}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是,在类Abc中找不到符号name().我明白这是一个合适的错误,但我该如何解决呢!?

Roh*_*ain 6

它不起作用,因为Object类没有这样的方法name(),并且您试图在类型的引用上调用它Object.

只需更改方法签名即可将Vendor参考作为参数: -

public static void print(Vendor vendor) {
     vendor.name();
}
Run Code Online (Sandbox Code Playgroud)

由于您的方法name()是在Vendor类中,并且您正在传递引用Vendor,因此您不需要Object在方法中使用正式参数.