诠释 Java 的抽象类

原创抽象,就是从许多具体事物中舍弃个别的、特殊的属性,抽出共同的、本质的属性。定义任何类,若在关键词class之前加上修饰符abstract,它就成了抽象类。抽象类不允许被实例化。就是说,在任何一个具体类的定义前,放上关键字abstract,给定类就被看作是抽象类,进而不能实例化。因此,抽象类中可以没有抽象的方法。在一个类的定义中,一旦出现了抽象方法,这个类就是抽象的,必须在关键字class之前放上修饰符abstract,否则会有编译错误。抽象方法的产生:抽象类Person中的方法吃饭havingDinner(),就是从许多种人中舍弃个别的、具体的操作(如用筷子吃饭,用刀叉吃饭,或用手抓着吃饭),抽出共同的、本质的操作:吃饭,产生了抽象方法havingDinner()。做法是,忽略方法体(即不包括一对花括号和其中的代码块)而仅给出方法的签名。就是说,只有方法的特征没有方法的实现,以构成抽象方法。抽象方法不能被调用。它必须通过实现,有了方法体,才可以被调用的方法。抽象方法,抽象类和接口是Java语言对抽象类概念支持的机制,显示强大的面向对象程序设计能力。如果,一个抽象类中的方法,全部是抽象的,同时,数据成员全部都是最终变量,那么,这个抽象类就成了接口,可以被其它类实现。抽象方法必须在抽象类或接口之中。抽象类是用来被类继承的。接口是用来被类实现的。Java允许一个类只能继承另一个类(单继承),但允许一个类同时实现多个接口。如果子类是非抽象的,即能够产生对象的类,那么它就必须实现父类中所有的抽象方法。否则,它仍然是抽象类,因为它所继承的方法中,仍有抽象的方法。一旦一个类中有了抽象方法,所在类就是抽象的,类的定义前必须放上修饰符abstract,否则会有编译错误。 <无> .CodeEntity .code_pieces ul.piece_anchor{width:25px;position:absolute;top:25px;left:-30px;z-index:1000;}.CodeEntity .code_pieces ul.piece_anchor li{width:25px;background: #efe;margin-bottom:2px;}.CodeEntity .code_pieces ul.piece_anchor li{border-left:3px #40AA63 solid;border-right:3px #efe solid;}.CodeEntity .code_pieces ul.piece_anchor li:hover{border-right:3px #40AA63 solid;border-left:3px #efe solid;}.CodeEntity .code_pieces ul.piece_anchor li a{color: #333;padding: 3px 10px;}.CodeEntity .code_pieces .jump_to_code{visibility:hidden;position:relative;}.CodeEntity .code_pieces .code_piece:hover .jump_to_code{visibility:visible;}.CodeEntity .code_pieces .code_piece:hover .jump_to_code a{text-decoration:none;}.CodeEntity .code_pieces h2 i{float:right;font-style:normal;font-weight:normal;}.CodeEntity .code_pieces h2 i a{font-size:9pt;background: #FFFFFF;color:#00A;padding: 2px 5px;text-decoration:none;}

诠释 Java 的抽象类

相关文章:

你感兴趣的文章:

标签云: