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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 剪爱 中级黑马   /  2014-5-16 21:21  /  1966 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

接口能直接创建对象吗?为什么?  (主要回答为什么) 2.在继承关系中,要创建子类对象,构造函数是如何调用的,应该注意什么?  3.简要介绍抽象类和接口的异同点。 4.创建线程类有几种方法?并简单介绍。(回答第二问)

2 个回复

倒序浏览
通俗易懂地讲,你就记住,接口不可以直接用于new的对象。但是可以作为参数类型以及类类型出现,new 后边跟着的必须是非接口类,但是new 出来的对象实例可以用接口类类型来接受,同样一个方法的参数类型也可以用接口类型,跟这个道理一样,只是使用接口类型,而不是用接口类去实例化对象,接口类型声明变量,接受的是其实现类new出来的对象,这也是java 实现多态的必要条件:用接口类型或基类类型去声明变量,来接收实现类或子类的对象,当变量调用成员方法时,调用的是其实现类或子类的方法。
回复 使用道具 举报 1 0
接口可以声明对象 但是后面new出来的必须是实现了接口的对象。
而抽象类是无法声明对象的。
在继承关系中,要创建子类对象,构造函数是先运行父类的构造函数 ,再运行子类的构造函数。
子类构造函数 可以通过super()调用父类的构造函数。
如果父类定义了有参构造函数 ,编译器不会默认生成无参构造函数。
那么子类也不能有无参构造函数。 要想有,则必须给父类手动添上无参构造函数。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马