1

在此处输入图像描述

嗨,只是想看看我是否正确理解了这个问题。

(一世)

public interface Coordinate {

    public double getDegrees();

    public double getMinutes();

    public double getSeconds();

    public String getDirection();

}

(ii) 我可以使用抽象类而不是接口并使用 Latitude 类来扩展抽象类吗?(不太确定为什么这是有利的?是因为我可以选择我想使用的方法,而不是被迫使用已实现的方法)

public class Latitude implements Coordinate {}

(四)public class Latitude extends Coordinate{}

4

2 回答 2

2

-1并且0不是int_double

'S'不是char一个String

我可以使用抽象类而不是接口吗

除了 aclass和 an之外,abstract class您还可以使用不明显的咒语。

public @interface Coordinate {
    public int getDegrees();
    public int getMinutes();
    public double getSeconds();
    public char getDirection();
}

static class Location implements Coordinate {
    @Override
    public int getDegrees() {
        return 0;
    }

    @Override
    public int getMinutes() {
        return 0;
    }

    @Override
    public double getSeconds() {
        return 0;
    }

    @Override
    public char getDirection() {
        return 0;
    }

    @Override
    public Class<? extends Annotation> annotationType() {
        return Location.class;
    }
}
于 2012-08-10T16:34:34.303 回答
2

(i) 仔细检查您的方法的返回类型。请记住,Strings 用双引号 ( "") 括起来。用单引号 ( '') 括起来的类型是什么?

(ii) 是的,这听起来不错。一个优点是您可以在抽象类中提供默认实现,但不能在接口中提供。通常在 Java 中,我们同时使用两者以从两者中获得优势。

于 2012-08-10T16:35:33.037 回答