一、重载
?法名称必须相同。
参数列表必须不同(个数不同、或类型不同、参数类型排列顺序不同等)。
?法的返回类型可以相同也可以不相同。
仅仅返回类型不同不?以成为?法的重载。
重载是发?在编译时的,因为编译器可以根据参数的类型来选择使?哪个?法。
二、重写
重写的?法必须要和?类保持?致,包括返回值类型,?法名,参数列表 也都?样。
重写的?法可以使? @Override 注解来标识
?类中重写?法的访问权限不能低于?类中?法的访问权限。
三、多态
多态指的是同?个?为具有多个不同表现形式。是指?个类实例(对象)的相同?法在不同情形下具有不同表现形式。封装和继承是多态的基础,也就是说,多态只是?种表现形式?已。
如何实现多态?多态的实现具有三种充要条件
继承
重写?类?法
?类引?指向?类对象
四、接口
接?相当于就是对外的?种约定和标准,这?拿操作系统举例?,为什么会有操作系统?就会为了屏蔽软件的复杂性和硬件的简单性之间的差异,为软件提供统?的标准。
- interface 接?是?个完全抽象的类,他不会提供任何?法的实现,只是会进??法的定义。
- 接?中只能使?两种访问修饰符,?种是 public ,它对整个项?可?;?种是 default 缺省值,它只具有包访问权限。
- 接?只提供?法的定义,接?没有实现,但是接?可以被其他类实现。也就是说,实现接?的类需要提供?法的实现,实现接?使? implements 关键字来表示,?个接?可以有多个实现。
- 接?不能被实例化,所以接?中不能有任何构造?法,你定义构造?法编译会出错。
- 接?的实现?如实现接?的全部?法,否则必须定义为 抽象类 ,这就是我们下?要说的内容
五、抽象类
抽象类是?种抽象能?弱于接?的类,在 Java 中,抽象类使? abstract 关键字来表示。如果把接?形容为狗这个物种,那么抽象类可以说是?发是??、?体的品种,?实现类可以是具体的类,?如说是博美、泰迪等。
- 如果?个类中有抽象?法,那么这个类?定是抽象类,也就是说,使?关键字 abstract 修饰的?法?定是抽象?法,具有抽象?法的类?定是抽象类。实现类?法中只有?法具体的实现。
- 抽象类中不?定只有抽象?法,抽象类中也可以有具体的?法,你可以??去选择是否实现这些?法。
- 抽象类中的约束不像接?那么严格,你可以在抽象类中定义 构造?法、抽象?法、普通属性、?法、静态属性和静态?法
- 抽象类和接??样不能被实例化,实例化只能实例化 具体的类
原文:https://www.cnblogs.com/chenfx/p/14617641.html