-1

我正在尝试使用 Java OOP 类、对象和方法来打印我的名字。下面是我正在使用的两个脚本。屏幕上没有显示任何内容。我正在使用 Netbeans IDE。

package name;
public class Begin {
    public static void displayName(){
        System.out.print("Say My Name");
    }
}

============================

package usename;
 import name.Begin;
public Useaname {
    public static void main(String[] args){
       Begin.displayName();
    }
}
4

11 回答 11

3

class在“Useaname”类声明中缺少 。

public class Useaname {
于 2012-08-05T22:29:18.413 回答
2

您的用户名之前的关键字在哪里class?:)

public class Useaname {
    public static void main(String[] args) {
        Begin.displayName();
    }
}
于 2012-08-06T05:15:19.433 回答
1

您必须声明该方法static才能像Begin.displayName().

public static void displayName() {

这告诉使方法成为类的函数,而不是类的任何特定实例。

或者,您可以实例化一个对象来调用该方法:

Begin begin = new Begin();
begin.displayName();
于 2012-08-05T22:27:33.923 回答
1

class您错过了 class name 之前的关键字Useaname。这是解决方案代码。

package usename;

import name.Begin;

public class Useaname {

    public static void main(String[] args) {
       Begin.displayName();
    }
}
于 2016-05-03T06:46:57.580 回答
0

您没有在“usename”之前使用关键字“class”

package usename;
 import name.Begin;
public Useaname {
    public static void main(String[] args){
       Begin.displayName();
    }
}

更正

package usename;
 import name.Begin;
public class Useaname {
    public static void main(String[] args){
       Begin.displayName();
    }
}
于 2015-04-22T06:52:36.090 回答
0

此代码不应编译。

Begin.displayName();试图调用静态方法 - 你没有这样的东西:)。

你必须有办法 - 创建新Begin对象并在其上调用方法 -new Begin().displayName()

或声明displayName为静态方法。

于 2012-08-05T22:28:05.910 回答
0

这个问题至少有两种解决方案:

(1) 您可以将displayName()方法设为静态。这将允许您使用类名来调用它。

public static void displayName() { 
  // snip
}

(2) 您可以从您的类中创建一个对象Begin以调用非静态成员方法:

public static void main(String[] args){
  Begin b = new Begin();

  b.displayName();  
}

总而言之,您应该了解对象和对象创建,作为理解 Java 和 OOP 的开始步骤。

于 2012-08-05T22:30:57.537 回答
0

您可以在 displayName() 方法上使用静态修饰符或创建 Begin 类的新实例:

package usename;

public class Useaname {
    public static void main(String[] args){
       Begin begin = new Begin();
       begin.displayName();
    }
}
于 2012-08-05T22:31:36.773 回答
0

您忘记在用户名之前添加

package username;
import name.Begin;
public class username{
      public static void main(String[] args){
            Begin.displayName();
      }
}
于 2020-01-17T18:43:20.207 回答
0

你忘了class关键字!你可以为类创建对象Begin

 import name.Begin;
public class Usaname
{
    public static void main(String []args)
    {
          Begin ob = new Begin();
          ob.displayName();
    }
}
于 2018-01-06T15:36:56.923 回答
0

What you are missing here is the class keyword before Username class declaration

Since you declared the displayName() method as static using the static access modifier , there is no need to create an object of the Begin class in order to invoke the displayName() method.

In general , this is how the Username class should be :

package usename;
import name.Begin;
public class Useaname {
    public static void main(String[] args){
       Begin.displayName();
    }
}

Alternatively, you can invoke the displayName() using a class instance by creating an object of the Begin class, just like this:

package usename;
import name.Begin;
public Useaname {
    public static void main(String[] args){
       Begin b = new Begin();
       b.displayName();
    }
}
于 2021-05-16T14:36:06.227 回答