黑马程序员技术交流社区
标题:
关键字
[打印本页]
作者:
我心飞翔
时间:
2011-12-21 00:16
标题:
关键字
本帖最后由 我心飞翔 于 2011-12-23 13:43 编辑
怎么样去用方法调用已经封装的抽象类?
作者:
为梦而战
时间:
2011-12-21 00:45
抽象类不可以用new创建对象,因此调用抽象方法没有意义
抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,才能建立子类对象调用有具体方法体的方法。
作者:
张帅
时间:
2011-12-21 00:51
这个啊,黑马毕老师的视频里是这么说的
分情况,因为抽象类中分为,抽象方法和非抽像方法,只能单继承
抽象方法,没有方法体,需要子类对象,重写后,才可以调用,即对象名.函数名,注意,抽象类不可以 new 本类对象,如果子类只覆盖了部分抽象方法,该子类还是一个抽象类,所以全部重写,非抽象函数则不用
非抽象方法,也可以使用对象名.函数名调用,也可以直接使用 类名.函数名,但是前提是,该函数,需要 static修饰,且没有private
例子
abstract class Employee{
private String name;
private String id;
private double pay;
Employee(String name,String id,double pay){
this.String name = name;
this.String 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,int bonus){
super(name,id,pay);
}
public void work(){
System.out.println("Pro work");
}
}
复制代码
以上是我的学习笔记,如有错误请指正
作者:
郭繁森
时间:
2011-12-21 00:54
本帖最后由 guofansen 于 2011-12-21 00:58 编辑
抽象类中的抽象方法要被使用,必须由子类复写其所有的(如果子类只是覆盖了部分抽象方法,那么该子类还是一个抽象类)抽象方法后,建立子类对象调用。
作者:
方书堂
时间:
2011-12-21 11:33
抽象类中的方法要通过子类的继承。再通过建立子类的对象来调用父类中方法。
如果抽象类中的这个方法不是抽象的,也可以把它用静态修饰,然后通过类名调用
作者:
黄战胜
时间:
2011-12-21 11:45
使用到一个抽象类的功能成员方法时,由于抽象类不能直接定义对象,所以也无法直接引用,常用的的有三种方法:
1,抽象类的子类对象。为了使用上的方便,Java在设计的时候,一般情况下,抽象类都有自己已实现的子类,通过创建子类对象来使用抽象类的方法。这种情况属通用方法。
2,匿名类。需要使用方法的时候,直接定义一个匿名类,在匿名类中实现需要使用的方法,直接调用就可以。使用匿名类有个限制,如果所使用的抽象类中有三个及以上的抽象方法时,不建议使用匿名类,因为使用匿名类的特点就是要实现所有的抽象方法,如果抽象方法太多的话,会很痛苦的。
3,继承。这个和匿名类的原理基本上一样,继承抽象类,在子类中实现所有的抽象方法。然后在定义该子类的对象去调用。如果自己定义的抽象类的话,可以使用该方法,调用抽象类的成员方法。如果是Java中的抽象类的话,直接在JDK中查找该匿名类的子类即可。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2