您的位置:首页 > 编程语言 > Java开发

Java中的继承,多态,抽象类

2016-01-20 09:23 351 查看
面相对象的第二个特征:继承

继承是“类与类”之间的关系,比如,狗类继承动物类。不过说明的是,每个类只能继承一个类。

继承的好处:子类拥有父类的所有属性和方法。(当然,属性和方法的修饰符不能是private)

关键字:extends

public class Dogs extends Animal{}

Java中extends 与 implement 区别

简单说:

1.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,

2.JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,

3.继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了 ,

比如 class A extends B implements C,D,E

术语话来说:

extends 继承类;implements 实现接口。
在继承的时候,是可以实现方法的重写的



面向对象最后一个特性:多态

多态:对象的多种形态

【继承是实现多态的基础】

1.引用多态

父类的引用可以指向本类、子类的对象

2.方法多态

多态中的引用类型转换:

1.向上类型转换 小类型——大类型

2.向下类型转换 大类型——小类型

解决类型转换的安全性问题:instanceof

创建一个子类对象dog = new dog();

再用子类的引用指向这个对象 Dog dog = new Dog();

用父类的引用指向这个子类对象 Animal animal = dog 这就叫自动类型提升、向上类型转换

Dog dog2 = (Dog)animal 向下类型转换、强制类型转换



3.java中的抽象类

在定义类时,前面用abstract

应用场景:某个父类只知道其子类应该包含怎样的方法,却无法准确知道这些子类如何实现这些方法

抽象类:是约束子类“必须”有哪些方法,而不关注如何实现。

抽象类的目的:不关注子类的实现,但是约束子类有哪些特征



abstract class XXX{

定义函数时只需要写函数名() 不用加大括号

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: