a class may not be both abstract and final.
是指
abstract ClassA{ }
final ClassB{ }
abstract final ClassC{ }abstract 类中有 abstract 方法,是需要重载的。
final 类 是不能被继承的,只能直接拿来用。

解决方案 »

  1.   

    a对,抽象类的子类是必须要实现父类中抽象方法,但final不允许继承
      

  2.   

      If a class contains one or more abstract method,the class must be declared abstract.So,the mean of the answer B is a final class may not be any abstract class!It's true. 
      But an  class contains one or more final methods,the class may not be declared final.只要这个抽象类中的final方法不在它的子类中被Overriding.So,A is wrong!
      

  3.   

    同意qq_pride:
    abstract class AA{
    int cc=3;
    final int getNumber(){
    return cc;
    }
    abstract int getInt();
    }
    class BB extends AA{
    int getInt(){
    return cc;
    }
       //int getNumber(){ return cc;} //valid:
    public static void main(String args[]){
    BB b=new BB();
    System.out.println("cc="+b.getNumber());
    }
    }
      

  4.   

    同意qq_pride:
    abstract class AA{
    int cc=3;
    final int getNumber(){
    return cc;
    }
    abstract int getInt();
    }
    class BB extends AA{
    int getInt(){
    return cc;
    }
       //int getNumber(){ return cc;} //invalid:
    public static void main(String args[]){
    BB b=new BB();
    System.out.println("cc="+b.getNumber());
    }
    }