黑马程序员技术交流社区

标题: 帮我看看。为什么编译过不了? [打印本页]

作者: 黑马张平    时间: 2012-3-14 12:59
标题: 帮我看看。为什么编译过不了?
//员工类:name id pay
//经理类:继承了员工的属性,并有bonus.
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;
        }
        abstract void work();
}
class Manager extends Employee
{
        private int bonus;
        Manager(String name,String id,double pay,int bonus)
        {
                super(name,id,pay);
                this.bonus=bonus;
        }
        public void work()
        {
                System.out.println("Manager 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 extendsDemo02
{
        //Pro p= new Pro("zhangsan","2083",10000);
        //p.work();  //ExtendsDemo02.java:43: 错误: 需要<标识符>
                Manager m=new Manager("lisi","jl01",10000,2000);
                m.work();
}
作者: 于紫洋    时间: 2012-3-14 13:13
class extendsDemo02
这是什么意思,写错了吧、
作者: 王亚男    时间: 2012-3-14 13:44
  1. class ExtendsDemo02
  2. {
  3.       
  4.                 public static void main(String[] args)
  5.                 {
  6.                 Manager m=new Manager("lisi","jl01",10000,2000);
  7.                 m.work();
  8.                                 Pro p= new Pro("zhangsan","2083",10000);
  9.                                 p.work();  
  10.                 }
  11. }
复制代码
你没写主方法。现在可以运行的。
另外,类名建议每个单词首字母大写。

作者: 程洪    时间: 2012-3-14 13:55
楼上正解 不过楼主 以后你要是遇到问题,麻烦你首先贴出你自己的代码;
其次 贴出 编译时的错误报告;
这样论坛的同学们会在最短的时间内 查看到你所出现的问题,这样既节省了论坛同学的时间,也锻炼了大家对异常的判断和处理能力
作者: 于紫洋    时间: 2012-3-14 14:32
怪不得老毕说开始用文本工具提高写代码的手感 - -!我都凌乱了
作者: 于紫洋    时间: 2012-3-14 14:33
王亚男 发表于 2012-3-14 13:44
你没写主方法。现在可以运行的。
另外,类名建议每个单词首字母大写。

顺带请教一下怎么弄出这样形式的代码块
作者: 王亚男    时间: 2012-3-14 14:41
于紫洋 发表于 2012-3-14 14:33
顺带请教一下怎么弄出这样形式的代码块

发帖子的时候,上面有个“<>”符号的按钮,点一下,把代码放进去就可以了。
回复里也有啊。
作者: 于紫洋    时间: 2012-3-14 14:43
  1. {
  2.         private String name;
  3.         private String id;
  4.         private double pay;
  5.         Employee(String name,String id,double pay)
  6.         {
  7.                 this.name=name;
  8.                 this.id=id;
  9.                 this.pay=pay;
  10.         }
  11.         abstract void work();
  12. }
复制代码
试一下
作者: 于紫洋    时间: 2012-3-14 14:44
王亚男 发表于 2012-3-14 14:41
发帖子的时候,上面有个“”符号的按钮,点一下,把代码放进去就可以了。
回复里也有啊。 ...

了解了,谢谢啊,我之前试过,没有预览效果还以为没作用- -!
还是这样舒服,谢过谢过
作者: 石德志    时间: 2012-3-14 15:32
楼上的回答能解决问题但是不正确,能不能编译和有没有主方法是没有任何关系的..............如下代码只需要把 m.work(),有大括号括起来就行了即 {  
           m.work();
              }   

这是因为m.work不是成员变量也不是类的成员方法,要想通过编译得用大括号括起来,弄成代码块,这种类似方法的形式


class extendsDemo02
{
        //Pro p= new Pro("zhangsan","2083",10000);
        //p.work();  //ExtendsDemo02.java:43: 错误: 需要<标识符>
                Manager m = new Manager("lisi","jl01",10000,2000);
             {  
           m.work();
              }   

            
}
作者: 黑马张平    时间: 2012-3-15 20:58
谢谢大家!
作者: 黑马张平    时间: 2012-3-15 20:58
谢谢大家!




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