Java 抽象类、类、接口

Java 抽象类、类、接口,java,class,interface,abstract,Java,Class,Interface,Abstract,我在学习java,我被困在这里了,请帮我解决这个问题,这似乎是一些面试问题 1) 抽象类: 我知道抽象类有空方法和完全定义的方法,但我不能理解空方法的真正含义。请举一个例子来理解同样的道理 2) 抽象类和普通类的主要区别是什么 3) 接口:接口也有空方法,接口和抽象类有什么区别?请给出任何需要理解的实时示例,尝试了很多理论来理解,但不清楚抽象类本质上是骨架类,您可以通过子类来扩展和完成 抽象类的一个示例,它允许更简单的管理: public abstract class CommandBase {

我在学习java,我被困在这里了,请帮我解决这个问题,这似乎是一些面试问题

1) 抽象类:

我知道抽象类有空方法和完全定义的方法,但我不能理解空方法的真正含义。请举一个例子来理解同样的道理

2) 抽象类和普通类的主要区别是什么


3) 接口:接口也有空方法,接口和抽象类有什么区别?请给出任何需要理解的实时示例,尝试了很多理论来理解,但不清楚

抽象类本质上是骨架类,您可以通过子类来扩展和完成

抽象类的一个示例,它允许更简单的管理:

public abstract class CommandBase {

    public abstract String getName();

    public String getUsage() {
        return "/" + this.getName();
    }

}
然后可以像这样扩展类:

public class SomeCommand extends CommandBase {

    @Override //This is a required override
    public String getName() {
        return "some";
    }

    @Override //This is an optional override, method was not abstract
    public String getUsage() {
        return super.getUsage() + " <text>"; //refer to superclass for original method invocation
        //Would return '/some <text>'
    }
public类SomeCommand扩展CommandBase{
@覆盖//这是必需的覆盖
公共字符串getName(){
返回“一些”;
}
@Override//这是一个可选的重写,方法不是抽象的
公共字符串getUsage(){
返回super.getUsage()+“”;//参考超类以获取原始方法调用
//将返回'/some'
}
接口是一个“契约”,指定实现它们的类将具有该方法

您可以实现多个接口,但只能扩展一个类。抽象类和接口不能直接实例化


试着读一读。

这会对你有很大帮助。基本上你应该说抽象类、具体类、接口。试试头先Java。它实际上用真实世界的例子解释了,所以你真的会记住它。。