用Java实现一个具体的类?

时间:2016-05-02 23:48:46

标签: java inheritance interface multiple-inheritance superclass

具体来说,我说有一个界面电影,以及实现电影的具体类动作和浪漫。那么,我可以创作一个延伸行动和实施浪漫的行动 - 浪漫吗?浪漫是一个完全实施的具体课程。

我查找了类似的问题但是他们并没有具体说明正在实现的类是接口,抽象类还是具体类。

2 个答案:

答案 0 :(得分:4)

没有。 Java有一个单实现继承模型。这意味着你不能从两个具体的超类继承。您可以实现多个接口,但只能永远一个具体的类。

答案 1 :(得分:1)

Java不支持多重继承(例如)这样做:

import java.util.ArrayList;
import java.util.List;

class Movie{
    private String name;
    private List<Genre> genres;
    public Movie(String name){
        this.name=name;
        this.genres = new ArrayList<Genre>();
    }
    public Movie withGenre(Genre genre){
        this.genres.add(genre);
        return this;
    }
    public String getName(){    
        return this.name;
    }
    public List<Genre> getGenres(){
        return this.genres;
    }
}

class Genre{
    private String name;
    public Genre(String name){
        this.name = name;
    }
}

class Romance extends Genre{
    public Romance() {
        super("Romance");
    }
}

class Comedy extends Genre{    
    public Comedy() {
        super("Comedy");
    }
}

class Main{

    public static void main(String[] args) {
        Movie movie1 = new Movie("A Movie").withGenre(new Romance());
        Movie movie2 = new Movie("A second Movie").withGenre(new Comedy()).withGenre(new Romance());

    }

}`