黑马程序员技术交流社区

标题: 抽象类和接口的问题? [打印本页]

作者: 黑马-胡占朝    时间: 2011-7-28 01:58
标题: 抽象类和接口的问题?
1.接口中可以有构造方法吗?
2.抽象类和接口是不是都可以有静态成员变量?
3.抽象类和接口在具体应用的方向?
作者: 匿名    时间: 2011-7-28 06:36
抽象类可以有构造方法,接口中不能有构造方法;
抽象类中可以有普通成员变量,接口中没有普通成员变量(默认public static final );
抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的;
抽象类中的抽象方法可以是public,protected的,但接口中的抽象方法只能是public的;
抽象类中可以包含静态方法,接口中不能包含静态方法
抽象类中可以包含任意访问权限的静态成员变量,但接口中定义的变量只能是public static final类型。
一个类可以实现多个接口,但只能继承一个抽象类。
作者: 匿名    时间: 2011-7-28 12:47
抽象类中存在构造方法,普通的方法,抽象方法;
接口中只有行为的声明,却没有具体的实现
接口就是类的高度抽象,
抽象类中可以包含任何成员,比如:静态,普通的
接口中却不能有静态的成员
作者: 匿名    时间: 2011-7-28 14:55
标题: 回复 楼主 的帖子
回答第一个问题:构造方法是针对对象实例操作的,作用是初始化,接口能创建出对象么?不能,所以它就不需要构造方法。

回答第二个问题:抽象类和接口是不是都可以有静态成员变量? 这个问题你应该考虑一个生命周期的事情,静态成员变量一般会长于接口,所以不会在接口中有静态成员变量。
类的生命周期可以等同于静态成员变量,类的生命周期分析可以参考下面的帖子,抽象类也是类,类中可以有静态成员变量,抽象类中自然也可以有:
[url]http://www.iteye.com/topic/77006[/url]

回答第三个问题:抽象类和接口在具体应用的方向?这个问题,我想没有准确答案的,我们还不未知以后可以扩展到什么用途的。张孝祥老师的接口视频中有提到过,接口相当于我们电脑上的主板插槽,你可以接显卡,接网卡等。所以你说接口具体会应用到哪里我也不知道。只是在我们需要为程序设置个空白,需要后人来完善增加功能的地方,可以用接口。抽象类也差不多。
一些个人浅显理解,不足之处还请各位指正




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2