黑马程序员技术交流社区
标题:
抽象方法和抽象类的问题
[打印本页]
作者:
邓飞飞
时间:
2012-4-14 16:54
标题:
抽象方法和抽象类的问题
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();
}
}
作者:
陈坚
时间:
2012-4-14 17:08
一个类中如果有抽象方法那么这个类一定是抽象类,应该在类前面加上abstract关键字来修饰,而楼主你的代码我编译过了,会出错的。你看清楚是不是有这样的一回事
作者:
张明星
时间:
2012-4-14 18:27
抽象类可以有抽象方法和非抽象方法(一般的成员方法),但是如果一个类中含有抽象方法,则必须声明为抽象类(当然也可以声明为接口)。
这个类必须是抽象的!
作者:
张一凡
时间:
2012-4-14 18:56
你这段代码错的离谱。
你应该知道的一些关于抽象类的细节:
1,抽象类中是可以定义非抽象方法的。
2,抽象类中有构造函数。
3,抽象类通常都是一个父类。
4,抽象类中可以不定义抽象方法。
5,有抽象方法的类就必须定义为抽象类。
6,abstract关键字不可以和final,static&private关键字共存。
作者:
蒋亮
时间:
2012-4-14 21:18
只要类中含有抽象方法,那么这个类就必须定义为抽象类
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2