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

面相对象的第二个特征:继承

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

继承的好处:子类拥有父类的所有属性和方法。(当然,属性和方法的修饰符不能是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{

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

}








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值