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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马-胡占朝 黑马帝   /  2011-7-28 01:58  /  1760 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.接口中可以有构造方法吗?
2.抽象类和接口是不是都可以有静态成员变量?
3.抽象类和接口在具体应用的方向?

3 个回复

倒序浏览
黑马网友  发表于 2011-7-28 06:36:55
沙发
抽象类可以有构造方法,接口中不能有构造方法;
抽象类中可以有普通成员变量,接口中没有普通成员变量(默认public static final );
抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的;
抽象类中的抽象方法可以是public,protected的,但接口中的抽象方法只能是public的;
抽象类中可以包含静态方法,接口中不能包含静态方法
抽象类中可以包含任意访问权限的静态成员变量,但接口中定义的变量只能是public static final类型。
一个类可以实现多个接口,但只能继承一个抽象类。
回复 使用道具 举报
黑马网友  发表于 2011-7-28 12:47:13
藤椅
抽象类中存在构造方法,普通的方法,抽象方法;
接口中只有行为的声明,却没有具体的实现
接口就是类的高度抽象,
抽象类中可以包含任何成员,比如:静态,普通的
接口中却不能有静态的成员
回复 使用道具 举报
黑马网友  发表于 2011-7-28 14:55:42
板凳

回复 楼主 的帖子

回答第一个问题:构造方法是针对对象实例操作的,作用是初始化,接口能创建出对象么?不能,所以它就不需要构造方法。

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

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