java中要是一个类继承了一个类,同时实现了一个接口,为什么implements 只能在extends 关键字之后,反过来为什么报错 java

解决方案 »

  1.   

    没那么多为什么,想要学好一门语言(编程或者人类语言均如是),真的别问那么多为什么。很多时候,你要习惯这门语言的习惯的思维、表达方式。
    比如中文通常说:“我认为,...不是...”而英文习惯说:“I don't think that ...”
    再举个我切身的例子,当年大一的时候,作为“地主”的我,被几个北方同学要求教上海话:吃过饭了吗?
    我很习惯地回答:“侬饭吃过了(口伐)?”
    当被要求将“饭”字放到“吃”的后面去再说一遍的时候,我短路了5秒钟。虽然也能说,也听的懂,但总觉得很奇怪,感觉变了味。人类语言因为受众也是人类,因此还有灵活度可言。但是作为编程语言来说,由于它的受众只是机器,就没有那么多灵活性,没有那么多为什么了。
      

  2.   

    我个人的理解:
    第一:规范。规范是语言在被解析的时候要就必须这么写,计算机只能识别这样的写法。第二:java 支持的是单继承,一个类能够实现多个接口。将 implements 写在前面  是可以 理解实现这么多接口,每个接口之间用逗号分开,这样我们的理解上是哪个类继承父类呢。可以参考一下别的资料,再说,好多东西是问不出为什么的。你可以想办法理解为什么,自己找到最好的方法理解就可以了。
      

  3.   

    为啥定义字符窜用String?一个道理
      

  4.   

    如果父类和接口有同样的方法的话 子类从父类继承的方法可以用来实现接口 所以要先继承了才好实现
    你看下面Sub实现了Interf,不实现say方法编译也没错public interface Interf {
    public void say();
    }
    public class Sub extends Base implements Interf{}因为Base类实现了public class Base {
    public void say(){
    System.out.println("speak");
    };
    }但是即使是先implements再extends编译器如果愿意的话也一样能处理 我猜这样规定是为了告诉你这个先后顺序或者是利于阅读