Thinking In Java Part02_03(抽象)

1、抽象类和抽象方法
	如果我们只提供接口,但没有具体的实现内容,创建这个对象是没有什么意义的,而且我们可能还想要阻止使用者这么做。通过让这个对象的所有方法报错可以实现阻止创建这个对象的目的。但是这样做会将错误信息延迟到运行时才获得,并且要在客户端进行可靠、详尽的测试。所以最好在编译时捕获这些问题。也就是尽可能不创建无内容的接口或者说对象。
	谓词,Java提供了一个叫做抽象方法的机制,这种方法是不完整的,仅有声明而没有方法体。语法:
		abstract void f();
	包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的(否则,编译器会报错)
	如果一个抽象类不完整,那么当我们视图产生该类的对象时,编译器会由于为抽象类创建对象不完全而报错。这样,编译器会确保抽象类的纯粹性,我们不必担心误用。
	如果从一个抽象类继承,并想创建该新类的对象,那么就必须为基类中的所有抽象方法提供方法定义。如果不这样做(可以选择不做),那么导出类便也是抽象类,且编译器将会强制我们用abstrace关键字来限定这个类。
	我们也可能会创建一个没有任何抽象方法的抽象类。这个类包含任何abstract方法都显得没有实际意义,而且我也想要组织产生这个类的任何对象,那么这样做就有用了。
2、接口
	interface关键字使抽象的概念更向前迈进了一步。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章