Android基础之Java多态、继承、重载和重写的区别
来源:互联网 发布:银行家算法详细流程 编辑:程序博客网 时间:2024/06/09 16:57
一、继承(inheritance)
1.1 继承是什么
简而言之,继承就是在现有类的基础上,增加新的方法或者重写基类的方法的一种方式。
继承还是面向对象语言的基本特征【继承、多态和封装】之一。
在Java中,java.lang.Object这个类是所有类的基类【也叫父类或者超类】。继承涉及到的两个关键字如下:
extends: 用于继承类,每个类最多只能继承一个父类implements: 用于继承接口,每个类继承接口数量不做限制
该下面我们只是创建了一个Person类,且没有明确指定继承某个类,但是其基类默认为Object。
/** * 创建类: 人 */public class Person{ //姓名 public void name(){} //性别 public void sex(){}}
1.2 继承怎么用
public class JavaPolymorphic {/** * 创建一个接口 */public interface IPerson{ //接口中的方法 void work();}/** * 创建类: 男人,并继承Person */public class Man extends Person implements IPerson{ /** * 重写了父类Person的name()方法 */ @Override public void name() { super.name(); } /** * 重写了接口IPerson中的work()方法 */ @Override public void work() {} }}
1、该上面类Man继承了父类Person和接口IPerson,此时就可选择性的重写父类Person中的方法,但是接口IPerson中所定义的所有接口必须实现重写。
2、如果类Man为抽象类(被abstract修饰),则继承父类或接口时,可选择不重写、部分重写或全部重写父类中的方法和接口中定义的接口。
二、重载(overloading)
2.1 重载是什么
一句话概括:在同一类中,有着相同名称,但形式参数不同的方法。
比如在上面类JavaPolymorphic中存在以下两个方法:
/** * @param age 年龄 * @param name 姓名 */public Man(int age, String name){}/** * @param city 城市 */public Man(String city){}
三、重写(overriding)
3.1 重写是什么
刚在上面例子也多次提到了重写,重写就是子类继承父类后,覆盖父类中的某个方法的操作就是重写的过程。
四、多态(Polymorphism)
4.1 多态是什么
继承是多态的一种表现形式,一个类型(Person类型)可表现出来多种状态(男人Man,并且具备年龄、姓名等不同属性)
多态同样也是面向对象语言的基本特征【继承、多态和封装】之一。
4.2 多态的好处
降低代码耦合程度,更易于功能的扩展。
阅读全文
0 0
- Android基础之Java多态、继承、重载和重写的区别
- Java基础之继承、多态、重载、重写
- 继承,多态,重载和重写的区别。
- JAVA基础之重载与重写的区别
- java基础-------重载(Overload)和重写的区别(Override)
- Java中继承、多态、重载和重写
- 【C#基础】重写和重载的区别
- java基础之方法的重载和重写
- Java基础温习 (6)重载,重写以及继承,多态的区别
- Java的重载和重写的区别
- 重载和重写、继承和多态的区别
- Java中重载和重写的区别
- Java中重载和重写的区别
- Java中重载和重写的区别
- Java中重载和重写的区别
- Java中重载和重写的区别
- Java中重载和重写的区别
- Java中重载和重写的区别
- 学会正确安慰对方
- 如何使用Markdown编辑器写博客
- java聊天室设计及实现
- 中式茶馆,那些发生在你身边的消费升级
- 2017年度总结
- Android基础之Java多态、继承、重载和重写的区别
- html5 新增 websocket(2) 原理
- mysql 一个错误
- 64-bit mex files using sparse matrices must be rebuilt with the "-largeArrayDims" option.
- NOIP 提高组 2008
- loadrunner常用函数
- Javascript中对DOM操作的总结
- SQL Server 数据库连接池
- 技术文章 | Spring IoC 学习(3)