首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

定义和使用抽象类,调用不到age这个方法!信息显示有误!望指点,该怎么处理

2012-02-08 
定义和使用抽象类,调用不到age这个方法!信息显示有误!望指点代码如下:publicclassAbstractDemo{Employeee1

定义和使用抽象类,调用不到age这个方法!信息显示有误!望指点
代码如下:
public   class   AbstractDemo   {
        Employee   e1,   e2;
        public   AbstractDemo()   {
                //初始化雇员对象e1,并显示雇员信息
                e1   =   new   Employee( "wang   xiao   yue ",   3000.00,   "2005/05/20 ",   24);
                System.out.println( "name: "   +   e1.getName());
                e1.getInfo();
                System.out.println( "salary: "   +   e1.getSalary());
                System.out.println( "hireDay: "   +   e1.getHireDay()   +   "\n ");

                //初始化雇员对象e2,并显示雇员信息
                e2   =   new   Employee( "tong   guang ",   5000.00,   "2005/05/20 ",   26);
                System.out.println( "name: "   +   e2.getName());
                e2.getInfo();
                System.out.println( "salary: "   +   e2.getSalary());
                System.out.println( "hireDay: "   +   e2.getHireDay());

        }

        public   static   void   main(String[]   args)   {
                new   AbstractDemo();
        }
}


//自定义抽象类
abstract   class   People   {
        String   name;
        int   gae;

        //声明抽象方法
        abstract   String   getName();

        abstract   int   getAge();
}


class   Employee   extends   People   {
        private   double   salary;
        private   String   hireDay;
        private   int   age;

        //含有参数的构造方法
        public   Employee(String   name,   double   salary,   String   hireDay,   int   age)   {
                this.name   =   name;
                this.salary   =   salary;
                this.hireDay   =   hireDay;

        }

        //用于获取雇员信息的方法
        public   void   getInfo()   {
                System.out.println( "我是员工 ");
        }

        public   double   getSalary()   {
                return   salary;
        }



        public   String   getHireDay()   {
                return   hireDay;
        }

        //实现父类中的抽象方法
        public   String   getName()   {
                return   name;
        }

        public   int   getAge()   {
                return   age;
        }
}

我做的结果显示
name:wang   xiao   yue
我是员工
salary:3000.0
hireDay:2005/05/20

name:tong   guang
我是员工
salary:5000.0
hireDay:2005/05/20

正确结果应该是
name:wang   xiao   yue
我是员工
age0
salary:3000.0
hireDay:2005/05/20

name:tong   guang
我是员工
ag0
salary:5000.0
hireDay:2005/05/20

弄得有点奇怪了
我如果在   public   AbstractDemo()中输入System.out.println( "age: "+e1.getAge());
System.out.println( "age: "+e2.getAge());
就能得出正确答案

可是我的练习书上的代码里没有有输入System.out.println( "age: "+e1.getAge());
System.out.println( "age: "+e2.getAge());这两段代码
就显示出了这确答案   希望给为帮我解答一下.


[解决办法]
你程序里根本没调用过getAge,怎么输出啊.
书上应该是错了

热点排行