------- android培训、java培训、期待与您交流! ----------
一、面向对象第二个特征:
1,继承(extends)
优点:
①提高了代码的复用性;
②让类与类之间产生了关系,有了这个关系,才有了多态的特性。
注意:千万不要为了获取其他类的功能,简化代码而继承;
必须是类与类之间有所属关系才可以继承,所属关系is a。
Java语言中,只支持单继承,不支持多继承。
例子:
1.
2.
3.
4.
二、关键字
1,Final
·final可以修饰类,方法,变量;
·final修饰的类不可以被继承;
·final修饰的方法不可以被覆盖;
·final修饰的变量是一个常量,只能被赋值一次;
·内部类只能访问被final修饰的局部变量。
例子:
①
2,Abstract抽象类
①概念:
·当多个类中出现相同功能,但是功能主体不同,这时可以进行向上抽取
这时,只抽取功能定义而不抽取功能主体。
·通俗说,在预定位置,抽象出一个空间,等到实际使用时,再根据具体情况复写,
相当于设了个X未知量。
②特点:
·抽象方法一定在抽象类中;
·抽象方法和抽象类都必须被Abstract关键字修饰;
·抽象类不可以用new创建对象,因为调用抽象方法没意义;
·抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,
建立子类对象调用。如果子类只覆盖了部分抽取方法,那么该子类还是一个抽象类。
③例子
3,接口(Interface)
·格式:interface{}
·接口中的成员修饰符是固定的。
成员常量:public static final
成员函数:public abstract
·接口的出现将“多继承”通过另一种形式体现出来,即“多实现”。
·初期理解,可以认为是一个特殊的抽象类。
·特点:
①接口是对外暴露的规则;
②接口是程序的功能扩展;
③接口可以用类多实现;
④类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口;
⑤接口与接口之间可以有继承关系。
·注意:
①接口中的成员都是public的;
②接口是不可以创建对象的,因为有抽象方法;
③需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化,
否则子类是一个抽象类;
④接口可以被类多实现,也是对多继承不支持的转换形式,Java支持多实现。
⑤基本功能定义在类(class)中,扩张功能定义在接口(interface)中。