黑马程序员技术交流社区

标题: 基础问题 [打印本页]

作者: 剪爱    时间: 2014-5-16 21:21
标题: 基础问题
接口能直接创建对象吗?为什么?  (主要回答为什么) 2.在继承关系中,要创建子类对象,构造函数是如何调用的,应该注意什么?  3.简要介绍抽象类和接口的异同点。 4.创建线程类有几种方法?并简单介绍。(回答第二问)
作者: cuixinfu    时间: 2015-5-9 23:21
通俗易懂地讲,你就记住,接口不可以直接用于new的对象。但是可以作为参数类型以及类类型出现,new 后边跟着的必须是非接口类,但是new 出来的对象实例可以用接口类类型来接受,同样一个方法的参数类型也可以用接口类型,跟这个道理一样,只是使用接口类型,而不是用接口类去实例化对象,接口类型声明变量,接受的是其实现类new出来的对象,这也是java 实现多态的必要条件:用接口类型或基类类型去声明变量,来接收实现类或子类的对象,当变量调用成员方法时,调用的是其实现类或子类的方法。
作者: 冰霜之卅    时间: 2015-11-2 22:44
接口可以声明对象 但是后面new出来的必须是实现了接口的对象。
而抽象类是无法声明对象的。
在继承关系中,要创建子类对象,构造函数是先运行父类的构造函数 ,再运行子类的构造函数。
子类构造函数 可以通过super()调用父类的构造函数。
如果父类定义了有参构造函数 ,编译器不会默认生成无参构造函数。
那么子类也不能有无参构造函数。 要想有,则必须给父类手动添上无参构造函数。





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