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

    继承:

    在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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值