黑马程序员技术交流社区

标题: 构造函数的问题 [打印本页]

作者: 郑雪    时间: 2013-5-1 15:24
标题: 构造函数的问题
本帖最后由 郑雪 于 2013-5-2 10:35 编辑

接口中有没有默认的空参数的构造函数?

作者: 吴传淦    时间: 2013-5-1 15:32
接口没有构造函数。接口里面的方法都是抽象的,接口不能new。
作者: wudongzhe    时间: 2013-5-1 15:37
本帖最后由 吴东泽 于 2013-5-1 15:41 编辑

接口中无法定义构造函数,也就没有默认的构造函数。你可以看下api
作者: 一直在路上    时间: 2013-5-1 16:04
接口中是没有构造函数的,接口都是抽象的,只有实现接口的非抽象类里面才有构造函数的。
作者: 小黑黑    时间: 2013-5-1 17:33
你得了解构造函数的作用,简单说,构造函数是用来创建实例对象的,如果接口中含有构造函数的话,那么就能创建对象,但是我们说接口是不能创建对象的,所以里面没有构造函数
从另一个角度想,接口是抽象的,既然抽象的,当然不能示例化了,方法都是抽象的,那么构造函数是实现了的特殊的方法,不是抽象的,所有没有构造函数
同理,你想想抽象类有没有构造函数呢?
希望可以帮到楼主哦,嘿嘿
作者: cowthan    时间: 2013-5-1 17:38
接口有没有应该无所谓吧,
1、接口要个构造函数干什么?又不能直接new
2、接口就算有,实现它的类也调用不到啊,super是父类,访问不到接口
3、实现类是有默认构造函数,但是那是它自带的,从哪儿来的谁也不知道

总结:
不知道有没有,无从考证,但也没必要考证,用不上
作者: 花开花落总相似    时间: 2013-5-1 18:09
        接口里面的方法都是抽象的  所以他是不能创建对象的  要想创建对象 需要子类对接口进行实例化,也就是说必须把接口里面的方法进行重写。
interface Inter{  //接口
       
        public abstract void show();
}

class Test implements Inter{
       
        public void show(){};   //子类对接口的抽象方法进行重写  才可以创建对象
}

public class TestInter{
        public static void main(String[]args){
                Test t = new Test();
               
        }
}




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