重温Java基础(四)

1.接口

  • 接口的访问权限跟类是一样的,只有Public和友好接口,不能用privateprotected修饰。
  • 接口分:接口声明和接口体
  • 接口体中包括常量和抽象方法,没有变量,也没有普通方法。
  • 接口体中的所有常量的访问权限一定都是public而且是static常量(允许省略public、final和static修饰符)
  • 接口体中的抽象方法的访问权限一定都是public(允许省略public abstract修饰符)
  • 重写接口中的方法:类在重写接口方法时不仅要去掉abstract修饰符,给出方法体,而且方法的访问权限一定要明显用public来修饰。(否则就降低了访问权限,这是不允许的)
  • 如果一个类声明实现一个接口,但没有重写接口中的所有方法,那么这个类必须是抽象类,也就是说,抽象类即可以重写接口中的方法,也可以直接拥有接口中的方法。
  • 接口回调是:可以把实现某一接口的类创建的对象引用赋值给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口方法。实际上,当接口变量调用被类实现的接口方法时,就是通知相应的对象调用这个方法。
  • 由接口产生的多态就是指不同的类在实现同一个接口时可能具有不同的实现方式,那么接口变量在回调接口方法时就可能具有多种形态。
  • 如果一个方法的参数是接口类型,我们就可以将任何实现该接口的类的实例的引用传递给该接口参数,那么接口参数就可以回调类实现的接口方法。
  • abstract类和接口的比较:(1)abstract类和接口都可以有abstract方法,(2)接口中只可以有常量,不能有变量,而abstract类中即可以有常量也可以有变量。(3)abstract类中也可以有非abstract方法,接口不可以

猜你喜欢

转载自blog.csdn.net/Doctor_LY/article/details/81670613
今日推荐