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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马张平 中级黑马   /  2012-3-14 12:59  /  2393 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//员工类: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();
}

11 个回复

倒序浏览
class extendsDemo02
这是什么意思,写错了吧、
回复 使用道具 举报
  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:44
你没写主方法。现在可以运行的。
另外,类名建议每个单词首字母大写。

顺带请教一下怎么弄出这样形式的代码块
回复 使用道具 举报
王亚男 黑马帝 2012-3-14 14:41:23
7#
于紫洋 发表于 2012-3-14 14:33
顺带请教一下怎么弄出这样形式的代码块

发帖子的时候,上面有个“<>”符号的按钮,点一下,把代码放进去就可以了。
回复里也有啊。
回复 使用道具 举报
  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:41
发帖子的时候,上面有个“”符号的按钮,点一下,把代码放进去就可以了。
回复里也有啊。 ...

了解了,谢谢啊,我之前试过,没有预览效果还以为没作用- -!
还是这样舒服,谢过谢过
回复 使用道具 举报
楼上的回答能解决问题但是不正确,能不能编译和有没有主方法是没有任何关系的..............如下代码只需要把 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();
              }   

            
}
回复 使用道具 举报
谢谢大家!
回复 使用道具 举报
谢谢大家!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马