Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在Java中定义一个抽象方法而不使用抽象关键字吗?_Java_Inheritance_Syntax - Fatal编程技术网

我可以在Java中定义一个抽象方法而不使用抽象关键字吗?

我可以在Java中定义一个抽象方法而不使用抽象关键字吗?,java,inheritance,syntax,Java,Inheritance,Syntax,我知道我们只能在抽象类中定义抽象方法。我还知道我们不能单独实例化抽象类,它必须被继承(扩展)。我知道抽象方法迫使子类为该方法提供实现 我的问题是,如果我可以定义抽象方法而不使用“abstract”关键字?比如: public abstract Animal { public void makeNoise(); } 您可以创建一个接口,它是一组抽象方法,无需使用抽象关键字。如果创建一个抽象类,那么每个抽象方法都应该有抽象关键字 查看以了解更多信息。您可以创建一个界面,这是一组抽象方法,

我知道我们只能在抽象类中定义抽象方法。我还知道我们不能单独实例化抽象类,它必须被继承(扩展)。我知道抽象方法迫使子类为该方法提供实现

我的问题是,如果我可以定义抽象方法而不使用“abstract”关键字?比如:

public abstract Animal
{ 
    public void makeNoise();
}

您可以创建一个
接口
,它是一组抽象方法,无需使用
抽象
关键字。如果创建一个
抽象类
,那么每个抽象方法都应该有
抽象
关键字


查看以了解更多信息。

您可以创建一个
界面
,这是一组抽象方法,无需使用
抽象
关键字。如果创建一个
抽象类
,那么每个抽象方法都应该有
抽象
关键字

查看以了解更多信息。

我的问题是,只有在不使用“abstract”关键字的情况下,我才能定义该抽象方法?

不,你不能上课。只有在接口上才可能这样做。

我的问题是,只有在不使用“abstract”关键字的情况下,我才能定义抽象方法?

不,你不能上课。这只能在接口上实现

我的问题是,只有当我能够在没有 “抽象”关键字

您不能这样定义抽象方法。
抽象类可以包含方法的实现。因此,您必须标记哪个方法是抽象的,哪个不是

如果你创建了动物类

public abstract class Animal {
    public void makeNoise();
}
Eclipse将建议您添加body或将方法更改为abstract

我的问题是,只有当我能够在没有 “抽象”关键字

您不能这样定义抽象方法。
抽象类可以包含方法的实现。因此,您必须标记哪个方法是抽象的,哪个不是

如果你创建了动物类

public abstract class Animal {
    public void makeNoise();
}

Eclipse将建议您添加body或将方法更改为abstract。

“我知道我们只能在抽象类中定义抽象方法。”这是不正确的。所有非默认的接口方法都是公共和抽象的,不使用
abstract
关键字。您的
Animal
类还是接口?请为您没有提出问题的地方编写适当的Java语法。“我知道抽象方法迫使子类为该方法提供实现”,这只适用于非抽象子类。抽象子类甚至可以添加更多的抽象方法,但仍然不能实现继承的抽象方法。“我知道我们只能在抽象类中定义抽象方法。”这是不对的。所有非默认的接口方法都是公共和抽象的,不使用
abstract
关键字。您的
Animal
类还是接口?请为您没有提出问题的地方编写适当的Java语法。“我知道抽象方法迫使子类为该方法提供实现”,这只适用于非抽象子类。抽象子类甚至可以添加更多的抽象方法,但仍然不能实现继承的抽象方法。