【问题标题】:Abstract class ,class, interface [closed]抽象类,类,接口
【发布时间】:2014-03-29 04:58:21
【问题描述】:

正在学习 java 卡在这里请帮帮我,这似乎是面试问题

1)抽象类:

我知道抽象类有空方法和完整定义的方法,但我无法理解空方法的实际含义。请举个例子来理解。

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

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

【问题讨论】:

标签: java class interface abstract


【解决方案1】:

抽象类本质上是骨架类,您可以使用子类对其进行扩展和完善。

一个抽象类的例子,它允许一些更容易的管理:

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>'
    }

接口是一个“契约”,指定实现它们的类将具有该方法。

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

尝试在Java's documentation around them 上阅读一下。

【讨论】:

    猜你喜欢
    • 2011-05-22
    • 2017-02-19
    • 1970-01-01
    • 2014-04-12
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多