-------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可以实现多继承。