普通类可以直接产生实例化对象,并且在普通类之中可以包含有构造方法、普通方法、static方法、常量、变量的内容。而所谓的抽象类就是指在普通类的结构里面增加抽象方法的组成部分,抽象方法指的是没有方法体的方法,同时抽象方法还必须使用abstract关键字进行定义。拥有抽象方法的类一定属于抽象类,抽象类要使用abstract声明。
定义抽象类
Ø 此时抽象类已经被成功的定义出来,但是如果要想使用抽象类则必须遵守如下原则:
Ø 抽象类必须有子类,即:每一个抽象类一定要被子类所继承(使用extends关键字),但是在Java中每一个子类只能够继承一个抽象类,所以具备有单继承局限;
Ø 抽象类的子类(子类不是抽象类)必须覆写抽象类之中的全部抽象方法(强制子类覆写);
Ø 抽象类的对象实例化需要依靠子类完成,采用向上转型的方式处理
正确使用抽象类
抽象类的相关限制
Ø 抽象类里面由于会存在一些属性,那么在抽象类之中一定会存在构造方法,目的:为属性初始化,并且子类对象实例化的时候依然满足于先执行父类构造,再调用子类构造的情况。
Ø 抽象类不能够使用final定义:因为抽象类必须有子类,而final定义的类不能够有子类;
Ø 抽象类中可以没有任何抽象方法,但是只要是抽象类,那么依然不能够直接使用关键字new实例化对象。
Ø 抽象类中依然可以定义内部的抽象类,而实现的子类也可以根据需要选择是否定义内部类来继承抽象内部类。
Ø 外部抽象类不允许使用static声明,而内部的抽象类允许使用static声明,使用static声明的内部抽象类就相当于是一个外部抽象类,继承的时候使用“外部类.内部类”的形式表示类名称。
Ø 抽象类中,如果定义有static属性或方法的时候,都可以在没有对象的时候直接调用。
今天的分享就到这里了,大家看完后学会了吗?
如果觉得文章对您有用就加个关注点个赞啦~~
欢迎评论留言,留下您的建议和思路。