黑马程序员-java学习继承之抽象类、多态和接口

-------android培训java培训、期待与您交流! ----------

抽象类:抽象就是从多个事物中将共性的,本质的内容抽取出来。将一个函数抽象出来,并不定义方法体,该方法具

体有子类去实现,这种方法称为抽象方法,包含抽象方法的类就是抽象类。

抽象类的特点:

<1> 抽象方法一定在抽象类中

<2> 抽象方法和抽象类都必须被abstract关键字修饰

<3> 抽象类不可以用new创建对象,因为调用抽象方法没意义

<4> 抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用; 如果子类只覆盖了部

    分的抽象方法,那么该子类还是一个抽象类。

<5> 抽象类中可以有抽象方法也可以有非抽象方法

<6> 抽象类和一般类没有太大的不同:   该如何描述事物,就如何描述事物,只不过,该事物出现了一些看不懂得

西。这些不确定的部分,也是该事物的功能,需要明确出现。但是无法定义主体

<7> 抽象类比一般类多了个抽象函数,就是在类中可以定义抽象方法; 抽象类不可以实例化。

接口(关键字:interface )与抽象类的区别:

共  性: 都是不断抽取出来的抽象的概念

 区别 1:抽象类体现继承关系,一个类只能单继承

        接口体现实现关系,一个类可以多实现

 区别 2:抽象类是继承,是 "is a "关系

        接口是实现,是 "like a"关系

 区别 3: 抽象类中定义体系中的基本共性功能

        接口通常定义体系中对象的扩展功能

区别 4: 抽象类中可以定义非抽象方法,供子类直接使用

        接口的方法都是抽象,接口中的成员都有固定修饰符

注:接口中定义的抽象方法必须全部在子类重写,否则会出错

多态定义:某一类事物的多种存在形态

多态示例:

Animal a = new Cat();  //类型提升,向上转型。 

Cat c = (Cat) a ; //强制将父类的引用,转成子类类型,向下转型。

多态的条件:多态三个必要条件:

1、父类引用指向子类对象

2、要有覆盖操作,也就是重写

3、需要存在继承或者实现关系

java中的继承是单继承是指的类与类之间的继承,但是接口的存在使的java可以实现多继承。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值