Pourquoi pas une classe Java être à la fois abstraites et finales

Supposons que j'ai une classe utilitaire qui ne contient que des méthodes statiques et variables. e.g:

public abstract final class StringUtils
{
    public static final String NEW_LINE = System.getProperty("line.separator");

    public static boolean isNotNullOrSpace(final String string)
    {
        return !(string == null || string.length() < 1 || string.trim().length() < 1);
    }
}

Dans ce scénario, il est logique de faire la classe à la fois abstraites et finales. Abstrait parce que la réalisation d'un objet de cette classe seront d'aucune utilité puisque toutes les méthodes sont accessibles de manière statique. Finale parce que la classe dérivée ne peut pas héritent de cette classe qu'il n'a pas tout non-membre statique.

C# permet statique modificateur de telles classes. Pourquoi ne pas le support de Java?

En raison des différentes spécifications de langue ?? Ensuite, il est true.
Lire ceci: stackoverflow.com/questions/3584113/...
grâce Bart. Vous avez fourni la bonne réponse. Je peux avoir un dernier de la classe avec un constructeur privé.
Vous avez confondu ce final moyens; final est équivalent à C#'s sealed, pas static.
public final abstract class ChuckNorris extends ChuckNorris {}

OriginalL'auteur PC. | 2013-10-01