黑马程序员技术交流社区
标题:
关于 抽象类的编程问题
[打印本页]
作者:
lucy198921
时间:
2013-3-26 21:16
标题:
关于 抽象类的编程问题
本帖最后由 lucy198921 于 2013-3-27 10:30 编辑
代码报错,求正解带注释.
/*
一个公司 有程序员 经历
描述程序员
姓名 年龄 工号 工资 编程的功能
描述经理
姓名 年龄 工号 工资 奖金 指挥功能
*/
abstract class Company //定义 抽象 类
{
private String name; //私有
private String number;
private double salary;
private int age;
Company(String name,String number,double salary,int age)
{
this.name =name;
this.number =number;
this.salary =salary;
this.age =age;
}
public String getName()
{
return name ;
}
public String getNumber()
{
return number ;
}
public double getSalary()
{
return salary ;
}
public int getAge()
{
return age;
}
public abstract void job();
}
class Manager extends Company
{
private double bonus;
Manager(String name,String number,double salary,int age,double bonus)
{
super(name,number,salary,age); //调用父类的成员变量
this.bonus=bonus;
}
public void job()
{
System.out.println(getName+"..."+getNumber+"...."+getSalary+"..."+bonus+"的经理在指挥");
}
}
class Programmer extends Company
{
Programmer(String name,String number,double salary,int age)
{
super(name,number,salary,age);
}
public void job()
{
System.out.println(getName+"..."+getNumber+"...."+getSalary+"..."+"的程序员在编译");
}
}
class AbstractTest
{
public static void main(String[] args)
{
Manager m =new Manager("张三","管理部001",5000,40,15000);
m.job();
Programmer p =new Programmer("李四","业务部001",15000,25);
m.job();
}
}
作者:
陈腾跃_2013
时间:
2013-3-26 21:30
……………………
class Programmer extends Company {
Programmer(String name, String number, double salary, int age) {
super(name, number, salary, age);
}
public void job() {
System.out.println(getName() + "..." + getNumber() + "...." + getSalary()
+ "..." + "的程序员在编译");//调用方法要加上括号
}
}
class AbstractDemo {
public static void main(String[] args) {
Manager m = new Manager("张三", "管理部001", 5000, 40, 15000);
m.job();
Programmer p = new Programmer("李四", "业务部001", 15000, 25);
p.job();//原来的代码是m.job();你应该不是这个意思吧
}
}
……………………
复制代码
输出:
张三...管理部001....5000.0...15000.0的经理在指挥
李四...业务部001....15000.0...的程序员在编译
作者:
王薪婷
时间:
2013-3-26 21:36
楼主,你复写job方法时调用父类的函数要写括号呀
System.out.println(getName()+"..."+getNumber()+"...."+getSalary()+"..."+"的程序员在编译");
System.out.println(getName()+"..."+getNumber()+"...."+getSalary()+"..."+bonus+"的经理在指挥");改这两个就可以通过了呢,你试试
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2