面向对象--继承、接口、抽象

来源:互联网 发布:软件商业计划书范文 编辑:程序博客网 时间:2024/05/18 00:52

    继承:

    在Java中只允许单继承,不能使用多继承,即一个子类只能继承一个父类。但允许多层继承,即一个子类可以有一个父类,一个父类还可以有一个父类。

    子类对象在实例化之前必须首先调用父类构造方法,再调用子类的自己的构造方法。与生活很类似,要先有父母才能有孩子。因为要用父类的构造方法为父类中的属性初始化,所以要先有父类实例,才能产生子类实例。

    super关键字:可以在子类中用super关键字调用父类的中的构造方法、普通方法和属性。

    final关键字:使用final声明的类不能由子类。   使用final声明的方法不能被子类重写。    使用final声明的变量即成常量,常量不能修改。


    抽象类abstract:

    包含一个抽象方法的类必须是抽象类;抽象方法只需声明而不能实现;抽象类必须被子类继承,子类(如果不是抽象类)必须覆写抽象类中的全部抽象方法。

    abstract声明的类不能使用private的访问权限,因为abstract抽象类必须被继承实现抽象方法,private只能在本类中访问。


    接口interface:interface A{

                                    全局常量;

                                    抽象方法;}        在接口中的抽象方法必须定义为public访问权限。 接口中的方法不管写不写,永远是public。

    接口若要使用必须通过子类,子类通过implements关键字实现接口。class 子类 implements interfaceA,interfaceB{}


    抽象类与接口的区别:

    相同点:1、都不能被实例化;2、都包含抽象方法

    区别:1、抽象类里可以存在非抽象的方法,接口里的所有方法都没有实现体;

                2、接口中的所有方法都是public(static、final、default),抽象类里只有抽象方法必须是public;

                3、抽象类中的成员变量可以用任何修饰符修饰,接口中的成员变量默认就是public static final;

                3、一个接口可以继承多个接口,而一个类只能继承一个抽象类(接口可以多继承,类只能单继承);

                4、接口可以继承接口,但接口不能继承抽象类(抽象类被继承后必须要实现抽象方法,接口在被实现的时候必须实现其方法 );

                5、一个类可以实现多个接口,class A extens B implements C,D{}   


    对象的多态性:对象向上转型,父类 父类对象=子类 子类实例;  对象向下转型,子类 子类对象=(子类)父类实例;


    instanceof关键字:判断一个对象到底是哪个类的实例。

0 0
原创粉丝点击