日期:2014-05-20  浏览次数:20566 次

抽象类的作用
请教一下.
抽象类到底什么时候用.有什么用?


abstract class fun1{
  abstract void method1();
  abstract void method2();
  …


class fun2 extends fun1{
  public void method1(){
  ........
  }
}
抽象类只不过是不能NEW而已...但继承后的子类要把抽象类中的方法重写


class fun3{
  public void method1(){
  ........
  }
}
那和我直接写个普通的类然后去写这么个方法...有什么区别吗


麻烦了...


------解决方案--------------------
interface IXXX{
 void handler();
}
abstract AXXX implements IXXX{
 void handler(){
doAHandler();
 }
 abstract void doHandler();
}
class AIXXX extends AXXX{
 void doAHandler(){
//doSomeThing
 }
}
abstract BXXX implements IXXX{
 void handler(){
doBHandler();
 }
 abstract void doHandler();
}
class AIXXX extends AXXX{
 void doBHandler(){
//doSomeThing
 }
}


------解决方案--------------------
abstract class Person{
abstract void method1();
abstract void method2();
}
class Student extends Person{
public void method1(){
System.out.println("student");
}
}
class Teacher extends Person{
public void method1(){
System.out.println("teacher");
}
}
public class Test{
public static void main(String args[]){
Person p1= new Student();
Person p2= new Teacher();
doMethod(p1);
doMethod(p2);

}
void method doMethod(Person person){//多态的好处不要写多个方法
person.method1;
}
}