接口:

  

  

  为什么要写成public static final int id = 1; ?

这是为了修正C++中多继承时容易出现的问题,当多继承的多个父类之间若有相同的成员变量,继承起来会很麻烦,并容易产生运行时异常。所以在java中把成员变量定义成static类型的,则该成员变量不属于任何对象,即便多个接口存在相同的成员变量也没关系。public static final int id = 1;可以直接写成int id = 1;即写不写static final 都是静态常量。

在接口中定义的方法都是抽象方法,但是不需要加abstract关键字。

举例

父类引用指向子类对象,父类引用只能看到子类对象中从父类继承过来的部分方法。

Student类只从Singer类中继承了sing(),sleep()方法,所以s1对象只能看到sing(),sleep()方法

如果将s2强制转款成Painter类p1,则p1只能看到从Painter类中继承的paint()、eat()方法,看不到sing(),sleep()方法。

 

 

类和类之间只能继承、接口和接口之间只能继承、类和接口之间只能实现接口。

 

子类实现接口中的方法必须遵循的原则:两同两小一大原则

  方法名相同,参数类型相同

  子类返回类型小于等于父类方法返回类型,
  子类抛出异常小于等于父类方法抛出异常,
  子类访问权限大于等于父类方法访问权限。

面向对象的总结:

 

 

博客引用马士兵Java基础教程中的PPT,如有侵权,请联系删除,谢谢!

posted on 2020-04-07 20:04  走丢的蜗牛  阅读(146)  评论(0编辑  收藏  举报