Card类有什么问题,我不希望它是抽象的

时间:2019-01-31 12:20:23

标签: java netbeans

我必须使该类具有可比性,因此我可以比较卡片。每次尝试时,都会不断要求我将卡片抽象化,确切的错误是“卡片不是抽象的,并且不会覆盖Comparable中的抽象方法compareTo(Card)”

        package p2cw1;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Comparator;

public class Card implements Serializable, Comparable<Card> {

    static final long serialVersionUID = 100L;

    public enum Suit {

        CLUBS, SPADES, DIAMONDS, HEARTS
    };

    public enum Rank {

        TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE
    };

    public Rank rank;
    public Suit suit;
    public Card Compare1;
    public Card Compare2;

    public Card(Rank rank, Suit suit) {
        this.rank = rank;
        this.suit = suit;
    }

    public Rank rank() {
        return rank;
    }

    public Suit suit() {
        return suit;
    }

    public String toString() {
        return rank + " of " + suit;
    }

    public Rank getNext(Rank r) {
        this.rank = r;
        int s = rank.ordinal()+1;
        Card.Rank result = Card.this.rank();
        System.out.println(s);
        return result;
    }
    }

如果没有在此站点上正确放置代码,我深表歉意。第一次使用

1 个答案:

答案 0 :(得分:2)

如果您的类实现Comparable,则需要实现int compareTo(T o)方法。否则您的类不完整,因此编译器认为它应该是抽象的。

基本上,如果您不希望它是抽象的,请添加此方法:-

other

如果此卡小于,等于或大于busid busname depoid bustypeid 1 KL-15 4567 7 1 2 KL-04-54 4 1 3 KL-02-11 7 3 4 KL-02-15 7 2 卡,则您的方法应返回负整数,零或正整数。