A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

这两个概念有点模糊啊

9 个回复

倒序浏览
你在什么方面会模糊呢,使用的时候,还是只是概念?
回复 使用道具 举报
接口就是抽象类.接口中的所有方法都是抽象的,类只能被单继承,但是接口可以多实现.好像就只知道这么点了.
回复 使用道具 举报
如果有抽象方法就要定义成抽象类,如果全部是抽象方法就要定义成接口,一般应用都是使用接口的。。。抽象类是抽取了一些方法,他们不一定是同一类事物的,比如狗和人都有eat()的方法,但是他们不能继承同一个抽象类,但是他们可以实现同一个接口。。。抽象类由于java的单继承限制了功能,接口是作为弥补和扩展的。。。一般你要是实际写程序用到了抽象方法,肯定是用接口的。。。
回复 使用道具 举报
齐浩 发表于 2015-5-23 18:46
如果有抽象方法就要定义成抽象类,如果全部是抽象方法就要定义成接口,一般应用都是使用接口的。。。抽象类 ...

nice!!!!!!!!
回复 使用道具 举报
抽象类可以有构造方法,但是是不能生成抽象类的对象,比如aa是抽象类,aa y=new aa();就出错!只有被非抽象子类继承后才可以实例化(使用new创建对象),他们除了继承上的区别之外,他们发方法也是有区别的,也是最重要的区别,如果你的类是普通的,不是抽象的,就必须实现接口中的所有方法。所谓实现(不是重载,而类似于叫覆盖的)。

如果你有用线程的接口来创建线程对象的话,估计你应该很好理解,在myeclipse都会自动帮你实现方法。因为线程的两种创建方式一种是继承类,一种就是继承接口。。。
希望对你有用!:)
回复 使用道具 举报
接口和抽象类的区别:接口是like  a 的关系,就是什么像什么,是实现关系,接口的方法都是抽象方法(抽象方法有方法声明,没有具体实现),默认的修饰符是public abstract,接口里的变量都是常量,默认修饰符是public static final。抽象类是is a  的关系,什么是什么,继承关系,抽象类里的方法不一定都是抽象方法,但是有抽象方法的类一定是抽象类。
回复 使用道具 举报
3楼正解  复习了一下
回复 使用道具 举报
接口比抽象类更抽象,但是接口不是类。接口的成员方法都是抽象的,而抽象类的成员方法可以是抽象,也可以是非抽象。接口的成员变量是常量,而抽象类的成员变量既可以是常量、也可以是变量。接口没有构造方法,抽象类有构造方法。
回复 使用道具 举报
接口用于实现,方法默认是public static 变量默认public static final也就是常量了
抽象类用于继承,它可以有自己的普通变量和普通方法,但是子类继承他必须实现他的抽象方法,不然子类得定义为抽象类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马