所以我对Java有点新意。我刚刚介绍了接口,我必须创建一个返回接口Chassis
以下是代码:
public interface Chassis {
public String Chassis = "Chassis";
public static void main(String[] args) {
public String getChassisType() {
return Chassis;
}
问题是,我一直得到错误,抽象方法不能有一个正文(如blockquote所示)但我没有将我的方法声明为抽象。
什么似乎是问题?
答案 0 :(得分:1)
您有两个问题,您不能将方法放在另一个方法中,也不能在Java的接口中定义这样的方法。在Java 8中,您可以执行此操作
public interface Chassis {
String Chassis = "Chassis";
default String getChassisType(){
return Chassis;
}
}
我不会在界面中定义您的public static void main
。虽然现在允许,但大多数开发人员会发现这令人困惑。请参阅@Jürgen的答案,正如大多数有经验的开发人员所说的那样。
我会创建另一个类
public class Main {
public static void main(String... args) {
// an anonymous subclass so you have something to create/call.
System.out.println(new Chassis(){}.getChassisType());
}
}
答案 1 :(得分:0)
界面是一种抽象。它无法实例化,它只能声明方法和属性而不是定义。您只能在类中实现它,如果您在类中执行它,则必须定义在接口中声明的所有方法。需要定义主方法以执行程序。所以它不应该放在界面内。改变你的代码,如下所示
public interface chassis
{
String Chassis;
public String chassis();
}
public class example implements chassis
{
public String chassis()
{
Chassis="chassis";
return Chassis;
}
public static void main(String[] args)
{
System.out.println(new example().getChassisType());
}
}
答案 2 :(得分:-1)
此代码根本不起作用。 main方法仅对类有效,对接口无效。
编辑:如下所述答案不正确。但是在方法中使用方法仍然不起作用。请参阅其他答案。