时间:2021-05-19
本文实例讲述了java抽象类和接口定义与用法。分享给大家供大家参考,具体如下:
只约定类所具有的抽象行为,没有具体实现相应行为。
1.不适合创建对象。
2.有些功能没有必要实现,有不同的子类实现。
3.每次使用的都是子类的对象。
4.为所有的子类提供了一个模板,所有的子类都是在此模板的基础之上添加和修改完善功能而创建出来的。
1.不能创建对象。
2.必须由子类继承使用。
3.普通的子类必须实现抽象类中的所有抽象方法。(抽象子类除外)
4.构造方法不能是抽象的。
5.abstract不能和private、final、static一起使用。
6.抽象类中的抽象方法不是必须的,可以写,可以不写。
abstract class TrafficTool1{ int count; public abstract void run() ;//抽象方法}class Car2 extends TrafficTool1{ @Override public void run() { System.out.println("汽车在公路上行驶"); }}class Tube2 extends TrafficTool1{ public void run() { System.out.println("地铁在 地下行驶"); }}public class TestTrafficTool1 { public static void main(String[] args) { Car2 c2 = new Car2(); c2.run(); Tube2 t2 = new Tube2(); t2.run(); }}提供了一组规则。
访问修饰符 interface 接口名{//所有成员都是public 常量;//public static final 抽象方法;//public abstract 默认方法;//public default 类型 名(){实现} 静态方法;//public static 类型 名(){实现} //不能被 实现类继承 //不能被 子接口继承 静态内部类型;//(public static 内部类,内部接口,内部枚举)}1.接口不能创建对象。
2.由实现类来实现功能。
3.普通的实现类,必须实现接口中的所有抽象方法。(抽象实现类除外)
4.实现类可以实现多个接口的功能。
5.接口之间可以继承,而且可以多继承。
1.静态方法不能被继承。静态方法用 接口名.静态方法名调用
2.实现多个接口方法名相同的处理
接口在开发中,提供了一组规则和规范,一旦发布了,就不要更改了。
解决问题:用default
interface WebBank{ void webService();//网上支付功能 //public abstract void webService(); default void fd() {}}//实现类class Jingdong implements WebBank{ @Override public void webService() { System.out.println("京东实现了支付功能"); } public void show() {}}class Taobao implements WebBank{ public void webService() { System.out.println("淘宝实现了支付功能"); }}public class TestWebBank { public static void main(String[] args) { WebBank web = new Jingdong(); web.webService(); web.fd();// web.show();//屏蔽 }}接口和抽象类的异同
相同
1.都不能创建对象
2.都需要用子类或实现类来继承或实现。
3.都可以包含抽象方法。
4.普通的子类或实现类需要实现所有的抽象方法(抽象的除外)。
不同
1.抽象类是个类,是个模板类,为子类提供模板,是个半成品。
2.接口是提供了一个功能,是一个规范。
3.抽象类 子类是单一继承。
4.实现类 可以实现多个接口。
5.接口之间可以多继承。
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Java中抽象类用法与注意点。分享给大家供大家参考,具体如下:一抽象类的用法案例1代码abstractclassPerson//定义一抽象类Per
在Java中可以用接口和抽象类来定义允许有多个实现的类型;不过,接口和抽象类有两个主要的不同:在实际开发中,我们应该遵循一个原则——接口优于抽象类,主要是由于接
今天来说一波自己对Java中抽象类和接口的理解,含参考内容:一、抽象类1、定义:publicabstractclass类名{}Java语言中所有的对象都是用类来
本文实例讲述了Java的抽象类原理与用法。分享给大家供大家参考,具体如下:Java的抽象类用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstr
抽象类和接口的区别: 1、抽象类要被子类继承,接口要被类实现。 2、接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。 3、接口里定义的变量只