黑马程序员技术交流社区

标题: 为什么我的有参构造通不过编译 [打印本页]

作者: 1769244078    时间: 2015-10-2 19:55
标题: 为什么我的有参构造通不过编译
class DianHua
{
        private String name;
        private int price;
        void Phone(){};
        void Phone(String name,int price)
        {
                this.name = name;
                this.price = price;
        }
        public void setName(String name)
        {
                this.name = name;
        }
        public String getName()
        {
                return name;
        }
        public void setPrice(int price)
        {
                this.price = price;
        }
        public int getPrice()
        {
                return price;
        }
        public void call()
        {
                System.out.println("打电话");
        }
        public void sendMessage()
        {
                System.out.println("发信息");
        }
        public void playGame()
        {
                System.out.println("玩游戏");
        }
}
class Phone
{
        public static void main(String[] atgs)
        {
                DianHua d = new DianHua();
                d.setName("华为");
                d.setPrice(8888);
                System.out.println(d.getName()+"...."+d.getPrice());
                DianHua a = new DianHua("中兴",65);
                //System.out.println(name+"*****"+price);
        }
}
[attach]89182[/attach]
绿色的为空参构造及其初始化
红色的为有参构造,但是编译的时候提示
---------- javac ----------
Phone.java:48: 错误: 无法将类 DianHua中的构造器 DianHua应用到给定类型;
                DianHua a = new DianHua("中兴",65);
                            ^
  需要: 没有参数
  找到: String,int
  原因: 实际参数列表和形式参数列表长度不同
1 个错误
-----------------------------------------------------------------------------------------
为什么 ?本人菜鸟  勿喷.


捕获.JPG (8.36 KB, 下载次数: 19)

编译出错

编译出错

作者: 风语    时间: 2015-10-2 20:10
void Phone(){};
        void Phone(String name,int price)
        {
                this.name = name;
                this.price = price;
        }
构造方法与类名一致,且无具体的返回值,没有返回值类型,连void都没有,你这个是成员方法,
作者: 1769244078    时间: 2015-10-2 20:13
哎....又是你  谢谢大神  你在就业办 还是?
作者: 风语    时间: 2015-10-2 20:23
在传智上基础班  准备考黑马
作者: 1769244078    时间: 2015-10-2 21:14
不错不错 加油
作者: iceknc    时间: 2015-10-2 22:03
写了返回值就是成员方法了
作者: beyond1337    时间: 2015-10-2 22:04
类名弄反了吧。
作者: 1769244078    时间: 2015-10-3 11:20
是啊  本来要写public 最后写成void  还怎么都检测不出来  尴尬..
作者: 1769244078    时间: 2015-10-3 11:24
beyond1337 发表于 2015-10-2 22:04
类名弄反了吧。

不是类名反了  是构造方法不能加返回值类型  加了就不是构造函数了  就变成普通函数了    我就是反了这个错
作者: 1769244078    时间: 2015-10-3 11:25
风语 发表于 2015-10-2 20:23
在传智上基础班  准备考黑马

你在哪个小区  我看你这水平 应该马上基础班毕业了吧?
作者: 风语    时间: 2015-10-3 12:06
还有一个月的时间   现在刚学到集合
作者: 赵存金    时间: 2015-10-3 12:26
我之前也老是犯这种错误
作者: 1769244078    时间: 2015-10-3 13:53
赵存金 发表于 2015-10-3 12:26
我之前也老是犯这种错误

就是 这种低级错误 犯一次也就够了 哈哈




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