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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 zhohao 于 2014-6-18 11:37 编辑

abstract class Employee
{
        private String name;
        private String id;
        private double pay;
        Employee(String name,String id,double pay)
        {
                        this.name = name;
                        this.id = id;
                        this.pay = pay;

        }
        public abstract void work();
}
class pro extends Employee
{
        
        pro(String name,String id,double pay)
        {
                super(name,id,pay);
        }
        public void work()
        {
                System.out.println("pro work");
        }
}

class  EmployeeDemo
{
        public static void main(String[] args)
        {
                new pro().work();
        }
}

编译时出现无法将pro类中的构造器pro应用到给定类型的错误,是哪里出了问题?求教


评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

7 个回复

倒序浏览
有构造函数但是没初始化,你的匿名对象没有传递参数

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
abstract class Employee
{
        private String name;
        private String id;
        private double pay;
        Employee(String name,String id,double pay)
        {
              this.name = name;
              this.id = id;         
              this.pay = pay;                    

        }
               
        public abstract void work();
}
class pro extends Employee
{

               
               
        pro(String name,String id,double pay)
        {
                super(name,id,pay);
       
                }
        public void work()
        {
                System.out.println("pro work");
        }
}

class  EmployeeDemo
{
        public static void main(String[] args)
        {
             //new pro().work();//因为你pro对象中没有无参的构造函数,所以创建匿名对象时不能使用无参数的匿名对象进行创建,
                 new pro("zhangsan","m1009",100.5).work();//正确创建和调用方式,或者在pro类中添加空参的构造函数       
        }
}

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
alive 发表于 2014-6-12 22:16
有构造函数但是没初始化,你的匿名对象没有传递参数

谢谢,这下知道怎么回事了,多谢了。
回复 使用道具 举报
江夷 发表于 2014-6-12 22:53
abstract class Employee
{
        private String name;

谢谢,这下知道怎么回事了。
回复 使用道具 举报
我也想知道怎么回事
回复 使用道具 举报

就是你的构造函数实例化需要传递参数,你构造的时候没有传递参数。
回复 使用道具 举报
zhohao 发表于 2015-2-1 13:35
就是你的构造函数实例化需要传递参数,你构造的时候没有传递参数。

知道了,多谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马