Java基础——接口和抽象类的区别
接口和抽象类的区别。
接口和抽象类的区别
接口: 1.接口中只能定义常量和抽象方法, //*public static final */ double PI =3.45 ---接口中的成员可以不写修饰符。默认都是public //*public abstrac */void 方法名(); 2.接口表示一种能力,想扩展就实现不想就不实现。 3.接口不能实例化,因为没有构造方法,只能被实现使用 4.类只能继承一个类,但是可以实现多个接口,这就是java中的多继承 5.接口实现使用implements 继承使用extends关键字 6.接口可以继承接口,并且可以同时继承多个接口 7.类可以在继承父类的同时,实现多个接口 8.接口就是一系列的方法的声明
抽象类: 1.使用abstract关键字修饰 2.抽象类不能实例化,需要子类继承使用 3.抽象方法没有方法体,需要被重写 4.抽象方法必须在抽象类中 5.子类必须实现父类中所有的抽象方法,除非子类也声明为抽象类 6.抽象类中可以有普通方法 7.抽象类不能被final修饰,抽象类是被用于继承的,final修饰代表不可修改,不可继承
区别: 1)语法 抽象类中可以有自己的属性,普通的非抽象方法,以及抽象方法 接口中一般定义常量和抽象方法,没有普通成员属性,所有方法均为抽象方法 2)编程 抽象类只能继承一个,接口可以同时实现多个 3)问题应用 使用继承必须存在is-a的关系 接口不要求实现类和接口之间有关系 4)接口和抽象类,都是为了多态服务的
上一篇:
IDEA上Java项目控制台中文乱码