读书人

定义和使用抽象类,调用不到age这个方法

发布时间: 2012-02-08 19:52:21 作者: rapoo

定义和使用抽象类,调用不到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,怎么输出啊.
书上应该是错了

读书人网 >J2SE开发

热点推荐