java之间父子之间的关系和实现类和接口之间的关系。

    技术2022-07-15  44

    如果一个子类的变量和一个父类的的变量完全一样,则称这个子类的变量隐藏了父类的同名变量。 java仅支持类间的多重继承。

    父类和子类之间的引用

    Person person=new Student(); 对于属性来说: 会直接调用父类的属性,没有父类的属性会直接报错 对于静态属性来说:会直接调用父类的静态属性,没有直接报错。 对于方法来说:父子类要有相同的方法,有的话调用子类,子类没有默认调用父类的,父类没有直接报错 对于静态方法来说:父类直接调用父类的person的静态方法,静态没有直接报错 Student student=new Student(); 对于静态属性来说:直接调用子类的静态属性,子类没有静态属性,直接调用子类的静态属性。 对于属性来说:和静态属性一样。 对于方法来说:查看子类是否有此方法,没有此方法调用子类方法 对于静态方法来说:和方法一样。

    实现类和接口的引用

    Animal ani=new Dog(); 对于属性来说:会直接调用接口的属性,接口如果没有此属性直接会报错。 对于静态方法来说:接口类的静态方法只能通过类名调用。没有办法通过父类的引用调用和子类的实例调用。 对于default来说:首先查看实现类中是否有次同名的非default的方法名,有的话直接调用实现类的,没有的话直接调用接口的 对于普通方法来说:查看接口和实现类共有的方法,实现类由此相同的方法直接调用,如果实现类独有的方法,不能直接调用。 Dog dog=new Dog(); 对于属性来说:先调用和接口同名的属性,如果不存在,则调用接口的属性。 对于静态方法来说:无法调用。 对于default方法来说:先查看实现类有没有同名方法,有点话调用子类的,没有的话调用父类的 对于普通方法:实现类直接调用实现的方法。
    Processed: 0.012, SQL: 9