android滑动解锁源码:抽象类和接口的关系

来源:百度文库 编辑:偶看新闻 时间:2024/03/28 22:45:01
抽象类:1)abstract 定义的类,2)抽象类中可以有抽象方法,也可以有非抽象方法。但有抽象方法的类必须是抽象类,抽象方法不可有实现题(也就是大括号),非抽象类必须有实现体。3)抽象类不能被实例化,但可以被继承,继承抽象类的子类必须是抽象的,除非实现了抽象类的所有抽象方法。abstract class sport{ abstract void run(); abstract void jump(); void going() { System.out.println("我喜欢走路"); }}abstract class favourite extends sport{//如果没有完全实现抽象类中的方法,则该类必须是抽象的 public void run(){}}class sportMeet extends sport{//如果完全实现了抽象类中的所有抽象方法,则子类可以不是抽象的 public void run(){} public void jump(){} }
接口:如果抽象类里的所有方法都是抽象的,那么就可以用另一种形式表示,那就是接口。用interface表示1)接口是抽象方法和常量的集合,只有方法的定义,没有方法的实现。2)接口中的方法都是抽象的,所以不用标志abstract关键字。接口中定义的常量都是public static final类型的。方法都是public;类型的3)接口可以继承其他接口,这样就拥有父类的所有属性和方法4)普通类实现接口,要实现接口中的所有抽象方法, 包括父类的方法。如果没有完全实现,则这个类就是抽象类,必须有abstract关键字5)一个雷可以实现多个接口interface Run{ int ID=1; void run();}

interface Animal extends Run{ void breathe();}
class Fish implements Animal{ public void breathe(){} public void run(){ }}abstract class person implements Animal{ public void breathe(){ }}