extends是继承,发生在类与类之间,接口与接口之间,java不能有一个类继承多个类,一个接口可以继承多个接口。接口中的方法都是抽象的。继承父类,只要那个类不是声明为final
implements是实现,发生在类实现接口,一个类可以可以实现多个接口,抽象类是不能被实例化的,只能是被继承,作为子类的超类,抽象实现接口时,可以不用实现接口方法,一个普通的类如果继承抽象类需要实现抽象类所有的抽象方法包括抽象类继承的接口的抽象方法
接口作为抽象方法的集合,如果一个类实现了某个接口,那么它就继承了接口的所有抽象方法
父类A与子类B继承关系上的不同:
A a = new B(); 结果a是一个A类的实例,只能访问A中的方法,那么又和A a = new A();有什么区别呢?
***********************************************************************************************
class B extends A
继承过后通常会定义一些父类没有的成员或者方法。
A a = new B();
这样是可以的,上传。
a是一个父类对象的实例,因而不能访问子类B定义的新成员或方法。