黑马程序员技术交流社区
标题:
抽象类的一个例子调试不出来
[打印本页]
作者:
邓飞飞
时间:
2012-4-14 17:00
标题:
抽象类的一个例子调试不出来
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;
}
public 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
{
class Pro(string name,string id,double pay)
{
super(name,id,pay);
}
public void work()
{
System.out.println("Pro work");
}
}
public class AbstactDemo
{
public static void main(String[] args)
{
Manager man=new Manager(zhansan,01,100.00,400 );
Pro p=new Pro(lisi,05,200.00);
man.work();
p.work();
}
}
我在编译时,AbstractDemo.java:29: 错误: 需要'{'
class Pro(string name,string id,double pay)
^
AbstractDemo.java:29: 错误: 需要';'
class Pro(string name,string id,double pay)
^
AbstractDemo.java:48: 错误: 进行语法分析时已到达文件结尾
}
作者:
陈扬
时间:
2012-4-14 17:27
你的代码有很多问题哦。比如:String类写成了小写string,构造方法加多了class关键字,还有就是你定义的class Employee类里面有抽象方法,但是你的类没有改成抽象类:
改过的代码如下:
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;
}
public 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");
}
}
public class AbstactDemo {
public static void main(String[] args) {
Manager man = new Manager("zhansan", "01", 100.00, 400);
Pro p = new Pro("lisi", "05", 200.00);
man.work();
p.work();
}
}
复制代码
作者:
韩新凯
时间:
2012-4-15 23:37
1.把Employee定义成抽象类,把string都改成String。
2.把Pro的构造函数前面的class去掉。
3.把主函数public static void main(String[] args)
{
Manager man=new Manager("zhansan","01",100.00,400 );
Pro p=new Pro("lisi","05",200.00);
man.work();
p.work();
}
里面Manager man=new Manager("zhansan","01",100.00,400 );和Pro p=new Pro("lisi","05",200.00);
前两个值加“”,它们是String类型的。
改好就对了,试过了,成功运行。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2