0

我只是在学习接口,我正在尝试玩弄它们。我注意到您不能在接口中将方法设为静态。我走在我快乐的路上,但是当我尝试从另一个类中获取我的一个方法的返回值时,我注意到我做不到。如果您愿意,可以考虑这是一个愚蠢的问题,它是否也适用于 Java,但在使用这种语言进行编程时,我并不完全先进。这是我的界面:

public interface Item 
{
     boolean organia();
} 

实现接口的类:

public class Car 
{
     @Override
     public boolean organia() 
     {
         return false;
     }
}

带有 main 方法的类:

public class Main 
{
    static Car car;

    public static void main(String args[]) 
    {
        System.out.println(car.organia());
    }   
}
4

5 回答 5

2

要调用实例方法,您需要创建一个实例。

System.out.println( new car().organia();

您经常希望保留对新实例的引用。

car mycar = new car();
System.out.println( mycar.organia() );
于 2013-06-17T03:29:10.087 回答
0

您需要初始化变量:

static car car = new car();

然后您的代码将运行正常。

于 2013-06-17T03:31:04.217 回答
0

伙计,你的班级实例在哪里?没有实例就不能调用实例方法:)

Car car = new Car();
System.out.println(car.oragania());

应该做你想做的。

或者你也可以初始化你的静态汽车变量

static Car car = new Car();
于 2013-06-17T03:31:23.273 回答
0
  1. 您的 Car 类需要实现您的 Item 接口
  2. 按照惯例,汽车名称通常是大写的
  3. 当你想调用有机方法时,你需要创建一个 new Item() 或 new Car()

    public class Car implements Item {
           @Override
           public boolean organia() {
                return false;
    }
    
    
    public class Main {
    
        public static void main(String args[]) {
            System.out.println(new Item().organia());
            System.out.println(new Car().organia());
        }
    
    }
    
于 2013-06-17T03:31:39.517 回答
0

接口只是对类应该实现什么的描述

public class Car implements Item {
       @Override
       public boolean organia() {
           return false;
}

即使你创建了一个静态版本的类(你不需要,你可以在你的 Main 方法中创建它:

public static void main(String args[]) {
Car car = new Car()
    System.out.println(car.organia());
}

祝你好运!

于 2013-06-17T03:31:53.937 回答