社区
Web 开发
帖子详情
抽象类与普通类有什么不同?
CTBOK
2009-11-23 10:59:31
抽象类能extends,普通类也能extend
无论是抽象还是普通类,子类都能继承父类所有的代码,那么,我是否能认为,抽象类与普通类的区别,是象征性意义大于实际意义?
THANKS
...全文
330
8
打赏
收藏
抽象类与普通类有什么不同?
抽象类能extends,普通类也能extend 无论是抽象还是普通类,子类都能继承父类所有的代码,那么,我是否能认为,抽象类与普通类的区别,是象征性意义大于实际意义? THANKS
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
晓虫
2012-06-19
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
我自己的想法是:抽象类是SA或架构师之类的人用的,设计好一些基础的代码,让程序员沿着这条路走,这也是抽象类不能实例化的原因之一。至于接口,很明显了,是架构师用的,目的是制定编程规则。
我见过有一句较经典的话:接口偏重于设计重用,而抽象类偏重于代码重用
[/Quote]
我觉得这位说的有点道理,关于普通类与抽象类的区别,还是应该从他们的应用角度与设计目的理解
youjianbo_han_87
2009-11-24
打赏
举报
回复
[Quote=引用 4 楼 forsiny 的回复:]
引用 3 楼 youjianbo_han_87 的回复:
我认为之所以有抽象类、接口这种东西,也是从概念上起源的。也就是楼主所谓之象征意义。
[/Quote]
就是为了根据 java 语法而实现的一些设计模式呀。没什么很神秘的,呵呵
mengshuijin
2009-11-24
打赏
举报
回复
Java专门提供了一种机制,名为“抽象方法”。它属于一种不完整的方法,只含有一个声明,没有方法主体。下面是抽象方法声明时采用的语法:
abstract void X();
包含了抽象方法的一个类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象).而普通类的方法必须是一个完整的方法,即有声明也有方法主体。重要的是通过通用接口处理一系列类,就需要创建一个抽象类,因为基础类内的方法都肯定是“伪”方法。若去调用这些方法,就会出现错误。
CTBOK
2009-11-24
打赏
举报
回复
我自己的想法是:抽象类是SA或架构师之类的人用的,设计好一些基础的代码,让程序员沿着这条路走,这也是抽象类不能实例化的原因之一。至于接口,很明显了,是架构师用的,目的是制定编程规则。
我见过有一句较经典的话:接口偏重于设计重用,而抽象类偏重于代码重用
forsiny
2009-11-24
打赏
举报
回复
[Quote=引用 3 楼 youjianbo_han_87 的回复:]
不是,抽象类有其特殊的作用。类似于接口。在一些设计模式中,能起到很大的作用。
[/Quote]
请问所指特殊作用是什么呢?
接口的确和抽象类有一些相似之处,但他们从概念上来讲还是断然不同的。
我认为之所以有抽象类、接口这种东西,也是从概念上起源的。也就是楼主所谓之象征意义。
youjianbo_han_87
2009-11-24
打赏
举报
回复
不是,抽象类有其特殊的作用。类似于接口。在一些设计模式中,能起到很大的作用。
不善^
2009-11-23
打赏
举报
回复
抽象类不能实例化
抽象类里可以加入一些类的共性 让子类去继承
比如 我们写个 动物类为抽象类把一些动物的共性写在这个类去
让子类去实现
forsiny
2009-11-23
打赏
举报
回复
我也这样觉得。
在使用上的区别就不说了。
我也觉得其概念性意义大于实际意义。
java
抽象类
和
普通
类_
抽象类
和
普通
类的区别是什么?java类和
抽象类
的区别
你知道java当中的
普通
类和
抽象类
之间有什么区别吗?这两者的
不同
之处究竟是什么呢?下面就和小编一起来详细的了解一下吧。一、
抽象类
和
普通
类区别
抽象类
和
普通
类的区别我们做了以下7点简单的总结,相信看了的朋友应该都会很清楚的了解了,一起来看看。下面是具体的区别之处。1、和
普通
类比较起来,
抽象类
它不可以被实例化,这个区别还是非常明显的。2、除了以上的一点之外,
抽象类
它能够有构造函数,被继承的时候,子类就一...
普通
类和
抽象类
有哪些区别?
总的来说,
抽象类
是一种用于模板设计和代码复用的编程技术,它允许开发人员定义一些通用的架构和方法,并将这些方法暴露给子类来实现。3. 继承:
普通
类可以被继承,
抽象类
只能被继承。由于
抽象类
中包含抽象方法,因此必须被子类继承并实现抽象方法。2. 方法:
普通
类可以被定义为包含具体实现的方法,
抽象类
中至少要包含一种抽象方法(即没有具体实现的方法)。4. 重写:子类必须重写
抽象类
中的抽象方法,而重写
普通
类中的方法则是可选的。
普通
类则没有此限制。1. 实例化:
普通
类可以被实例化,
抽象类
不能被直接实例化,只能被继承。
抽象类
和
普通
类有
什么区别
抽象类
和
普通
类有
什么区别 声明方式
不同
抽象类
不能被实例化
抽象类
中既可以含有抽象方法也可以含有
普通
方法,
普通
类中不能含有抽象方法,含有抽象方法的类都是
抽象类
抽象方法不能声明为静态 ...
抽象类
和
普通
类
接口的设计目的,是对类的行为进行约束(更准确的说是一种“有”约束,因为接口不能规定类不可以有什么行为),也就是提供一种机制,可以强制要求
不同
的类具有相同的行为。包含抽象方法的类称为
抽象类
,但并不意味着
抽象类
中只能有抽象方法,它和
普通
类一样,同样可以拥有成员变量和
普通
的成员方法。抽象是对类的抽象,是一种模板设计,
抽象类
是is a 的关系。接口提现出来了实现的关系,实现可以多实现。接口只有定义,不能有方法的实现,java 1.8中可以定义default方法体,而
抽象类
可以有定义与实现,方法可在
抽象类
中实现。..
java基础:10、
普通
类和
抽象类
之间的区别?接口和
抽象类
之间的区别?
抽象类
必须要有抽象方法吗?
抽象类
能使用final修饰吗?(超级详细)
普通
类和
抽象类
之间的区别? 接口和
抽象类
之间的区别?
Web 开发
81,092
社区成员
341,716
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章