抽象类、接口
来源:互联网 发布:二进制指数退避算法 编辑:程序博客网 时间:2024/06/05 22:35
多态总结:
1.使用父类类型的引用指向子类的对象
2.该引用只能调用父类中定义的方法,不能调用子类中独有的方法
3.如果子类中重写了父类的一个方法,那么在调用该方法的时候,
将会调用子类中的这个方法
4.在多态中,子类可以调用父类中的所有方法
5.多态主要体现为重载和重写。相同的行为不同的实现方式
6.多态主要应用为多态参数和多态集合
如果一个方法中有父类变量做为参数类型,就意味着可以给该方法传递任何一个子类对象
如果一个类中的方法,只有方法定义,没有方法具体实现,那么该方法就成为抽象方法。
而拥有抽象方法的类叫抽象类,用关键字abstract定义。抽象类不能直接实例化,
如果要实例化抽象类,那么抽象类变量需要指向子类对象。
抽象类中,可以定义抽象方法,也可以定义具体方法。如果一个类继承抽象类,
那么必须重写抽象类中定义的所有抽象方法。
抽象方法定义的意义在于,使用父类变量指向子类对象时,可以对抽象方法进行调用
接口是一种行为的抽象。接口可以看做是抽象类的特例。抽象类中可以有抽象方法,
可以有具体方法。但接口中只能有抽象方法。
定义接口使用interface。实现接口使用implements。
接口中定义的方法都是抽象方法,修饰符为public abstract。即是缺省,也是公共的抽象方法。
如果一个方法参数为接口类型,意味着可以传递该接口的任何实现类对象。
接口中可以定义变量,其修饰符是public static final
接口可以继承接口。同时可以多继承接口。一个类实现一个接口,不但要实现该接口中定义的
抽象方法,而且要实现该接口父接口中定义的抽象方法
抽象类和接口的区别:
1.抽象类和接口都不能直接实例化
2.抽象类中可以有抽象方法,也可以有具体方法。但接口中只能有抽象方法。
3.抽象类中定义的变量是普通属性。但接口中定义的变量是公共的静态的常量
4.一个类只能继承一个抽象类,但可以实现多个接口。
一个类实现一个接口,可以不完全实现接口中定义的抽象方法,但这个类只能是抽象类。
同样,一个类继承一个抽象类,也可以不实现抽象类中定义的抽象方法,这个类也必须是抽象类。
1.使用父类类型的引用指向子类的对象
2.该引用只能调用父类中定义的方法,不能调用子类中独有的方法
3.如果子类中重写了父类的一个方法,那么在调用该方法的时候,
将会调用子类中的这个方法
4.在多态中,子类可以调用父类中的所有方法
5.多态主要体现为重载和重写。相同的行为不同的实现方式
6.多态主要应用为多态参数和多态集合
如果一个方法中有父类变量做为参数类型,就意味着可以给该方法传递任何一个子类对象
如果一个类中的方法,只有方法定义,没有方法具体实现,那么该方法就成为抽象方法。
而拥有抽象方法的类叫抽象类,用关键字abstract定义。抽象类不能直接实例化,
如果要实例化抽象类,那么抽象类变量需要指向子类对象。
抽象类中,可以定义抽象方法,也可以定义具体方法。如果一个类继承抽象类,
那么必须重写抽象类中定义的所有抽象方法。
抽象方法定义的意义在于,使用父类变量指向子类对象时,可以对抽象方法进行调用
接口是一种行为的抽象。接口可以看做是抽象类的特例。抽象类中可以有抽象方法,
可以有具体方法。但接口中只能有抽象方法。
定义接口使用interface。实现接口使用implements。
接口中定义的方法都是抽象方法,修饰符为public abstract。即是缺省,也是公共的抽象方法。
如果一个方法参数为接口类型,意味着可以传递该接口的任何实现类对象。
接口中可以定义变量,其修饰符是public static final
接口可以继承接口。同时可以多继承接口。一个类实现一个接口,不但要实现该接口中定义的
抽象方法,而且要实现该接口父接口中定义的抽象方法
抽象类和接口的区别:
1.抽象类和接口都不能直接实例化
2.抽象类中可以有抽象方法,也可以有具体方法。但接口中只能有抽象方法。
3.抽象类中定义的变量是普通属性。但接口中定义的变量是公共的静态的常量
4.一个类只能继承一个抽象类,但可以实现多个接口。
一个类实现一个接口,可以不完全实现接口中定义的抽象方法,但这个类只能是抽象类。
同样,一个类继承一个抽象类,也可以不实现抽象类中定义的抽象方法,这个类也必须是抽象类。
0 0
- 接口、抽象类、抽象方法
- 抽象接口和抽象类
- 类 抽象类 接口
- 抽象类接口类
- 类、抽象类、接口
- 类、抽象类、接口
- 类、抽象类,接口
- 接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 抽象类,接口
- 抽象类和接口
- 抽象类和接口
- 抽象类与接口
- 抽象类和接口
- 接口与抽象类
- 抽象类与接口
- 抽象类与接口
- Invariant Violation:Application 项目名 has not been registered.
- C++拷贝构造函数与函数声明的区分
- flex布局介绍
- git clone 分支
- studio 翻译插件ECTranslation
- 抽象类、接口
- LeetCode 64. Minimum Path Sum
- mysql DATE_FORMAT的用法API
- Java设计模式--中介者模式
- maven下配置ssm框架
- 搭建基于springmvc+freemarker+maven的web项目
- 事件、抽象方法
- [Contests]BestCoder Round #87 (1001-1003)
- 异常处理