java中继承抽象类和继承普通类有什么区别?

抽象类不能被实例化,只能被继承,这个我知道。根绝我的理解,继承抽象类能实现的,通过继承普通类也能实现,为什么还要抽象类呢?最好能有一段代码来解释,谢谢各位... 抽象类不能被实例化,只能被继承,这个我知道。
根绝我的理解,继承抽象类能实现的,通过继承普通类也能实现,为什么还要抽象类呢?
最好能有一段代码来解释,谢谢各位
展开
 我来答
百度网友76a265c21
2010-08-15 · TA获得超过102个赞
知道答主
回答量:33
采纳率:100%
帮助的人:36.4万
展开全部
首先我们都知道 抽象类是一种特殊的接口,那就要知拿毕道java为什么定义接口,其实说白了,就是为了定义一种规范,让大家都必须去实现这个接口。而慧绝抽象类呢,我里面可以有抽象方法,也可以有普通方法,就是说抽象类里的方法消碧芹可以
被子类部分实现,只用实现抽象的方法。而你继承普通类,可以完全不用去实现父类的任何一个方法。
总的来说就是:接口必须全部实现,抽象类只实现抽象方法,继承类可以不实现。
黄四洲
推荐于2017-11-23 · TA获得超过236个赞
知道答主
回答量:59
采纳率:0%
帮助的人:49.3万
展开全部
抽象类的作用是普通类无法替代的,抽象类的作用主要是提供一种模版,比如我现在要写一个Person类.首先要是普通类我可能会这么写:public class Person{String age;int age;public void doJob(){System.out.println("i have a job")}}这里Person类有名字,年龄属性,还有一个介绍职业的方法兄乱,假如现在要写一个学生类,学生也是人要继承Person我们写Class Stndents{public void doJob{System.out.println("我们是学生")}},同理有一个教师类public class Teachers{public void doJob(System.out.println("我们是教师")){}},现在再来看下Person.里面的doJob方法有意义吗?i havea job这句话一点用处没有,所以可以将doJob写成dojob(),让具体类型的人庆尘没具誉纳体实现,所以抽象类就起到了近一步抽象的作用,些Person类的时候我根本不需关心职业的问题我Person只提供一个抽象的模板
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
malongmei0519
2010-08-14 · 超过12用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:28.9万
展开全部
用abstract修饰的类称为抽象类,所谓抽象类是指不能直接实例化对象的类。如锋伍果一个抽象类被说明了,则这个类中将包含一个或几个抽象方法。所谓抽象方法是指该方法只吵春有方法说明却没有方法体,即没有具体的代码。抽象类本身不具备实际功能,它只能用于衍生子类。抽象类中升基耐不一定包含抽象方法,但一旦某个类中说明了抽象方法,该类必须说明为抽象类。
例题:

//定义由抽象类CShape而派生出的子类CCircle
class CCircle extends CShape //定义子类
{
double radius; //域成员
public CCircle(double r) //构造方法
{
radius=r;
}
public double area( )
{
return 3.14*radius*radius
}
}

// appl4_3,定义由抽象类CShape而派生出的子类CCircle
class CCircle extends CShape //定义子类
{
double radius; //域成员
public CCircle(double r) //构造方法
{
radius=r;
}
public double area( )
{
return 3.14*radius*radius;
}
}
public class appl4_3
{static double t;
public static void main(String args[])
{ String s="red!";
CCircle c=new CCircle(5);
appl4_3 x=new appl4_3( );
c.setColor(s);
x.t=c.area();
System.out.println(“area=”+t+ “color=”+c.color);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
申悟空
2010-08-15 · TA获得超过174个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:80.7万
展开全部
抽象类与普通类的最重要的区别是从面向对象的角度来出发进行解释的,抽象类描亮哪述的是非具体的东西,比如说形状,这就是非具体的,形状分为三角形,正方形。圆形等等,普通类就更具体了陪局,三角形就就可以作为一个普通类来对待的。
如果单从语法上来考虑东西,很多问题是想不明白的,建议童鞋多从java编程的核心思想上来考虑,而不只是单纯的考虑一些芦键让语法解释上的东西!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大时代暑
2010-08-14 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4111
采纳率:0%
帮助的人:4824万
展开全部
抽象类体现的的就是一种模板模式的设计。抽象类锋宽是从多个具体类中抽象出来的父类。从多个具有相同特征的类中抽象出一个抽象类,以这个抽银蚂亮象类作为其子类的模板,从而避免了子类设计的随意性。

如果编写一个抽象父类,父类提供了多个子类的通用方法物搜,并把一个或多个抽象方法留给其子类实现,这就是一种模板模式。模板模式也是最常见,最简单的设计模式之一。

这就是抽象类的作用,明白了这个,我想代码就不用写了吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式