日期:2014-05-20  浏览次数:20658 次

基础概念问题
java中提出的抽象类是为了什么?
有理解的很透彻的高人能解释一下吗?

------解决方案--------------------
抽象类就是对类进行抽象,便于系统的设计
------解决方案--------------------
提出抽象类的是为了让人们对具体问题(对象) 进行概括,
抽出一类对型的公共性质并加以描述的过程.
例如生物 分为: 植物和动物, 中间又分了好多种,
这都是抽象,是对事物的抽象!~,
我们每次将范围扩的越大就越抽象, 地球, 宇宙, 很多我们只能用一种抽象来表示!
这样解决问题的时候就去除了这些公共性质, 只需要考虑它的特殊性质了!~


------解决方案--------------------
抽象类的作用仅仅是个表达的接口而已,里面只是定义了抽象方法,但是没有实施方法的细节!
------解决方案--------------------
抽象就是抽去像的部分!
抽象出基类主要是为了代码的复用!
------解决方案--------------------
在设计模式中,设计好的抽象类和接口利于整个系统的扩展,重用。结构清晰,可读性强。

抽象类定义了它的子类所必须实现的框架,定义了规范。从面向对象角度讲,抽象类定义了对象所具有的行为,但这个对象行为的的具体动作根据子类的具体特性来定义。

比如定义了“车”这年抽象类,“车”具有“发动”这一抽象行为。
现在有两类车继承于这个“车”的抽象类,“卡车”,“自行车”。这两个子类必须实现父类的”发动“这一行为,”卡车“和”自行车“的特性不一样,所以”发动“的方式也不一样,所以它他们必须自己实现自己所特有的”发动“行为。
------解决方案--------------------
//有方法,没有方法体故为抽象类
------解决方案--------------------
本质:
java不像C++一样可以多重继承
所以有了抽象类和接口两个机制,可以模拟多重继承。

就这么简单。

如果你不用多重继承的概念。
推荐使用接口。放弃抽象类。
------解决方案--------------------
JF
------解决方案--------------------
在初学之前只要知道怎么用就行,要是想知道为什么,建议去看看关于设计模式方面的书,我觉得这个问题还是靠自己理解出来比较好,别人说什么也说不会怎么明白。
------解决方案--------------------
抽象类就是包含有抽象方法的类. 抽象类是拿来给别人继承的.

一个抽象方法就是没有去实现的方法

为什么要抽象类呢?

因为有时候在设计一个类的时候, 我们还不能具体确定一些方法的实现过程(比如,业务流程未定), 但是又要用这个类来继续进行设计了(很多时候是要设计其它类来调用这个类的未确定的方法--仅仅是定个框架而已, 抽象的逻辑过程), 这时,可以先把该方法的返回值,和参数表先定下来, 具体实现留到以后.

那个留到今后实现的方法就是抽象方法. 包含了抽象方法的类, 就是抽象类.

接口也是这个意思.


------解决方案--------------------
抽象类的作用是为他衍生出去的所有类都创建一个通用接口。
在抽象类中我们定义所有衍生类的通用的一些东西。
当然由于我们无法直接建立一个抽象类的实例,
当我们想禁止直接建立一个类的实例时,也可以用abstract.
其实主要就是为了多态,使类中公共的东西抽象出来,提高程序
可读性和可维护性.