抽象类简单举例

  package trace01;

  abstract class square{ //抽象类

  private int a;

  private int b;

  public void setab(int a,int b){

  this.a=a;

  this.b=b;

  }

  public int geta(){

  return a;

  }

  public int getb(){

  return b;

  }

  public abstract int area(); //求面积

  public abstract int perimeter(); //求周长

  }

  class zSquare extends square{

  public zSquare(){};

  public int area(){

  return geta()*geta();

  }

  public int perimeter(){

  return 4*geta();

  }

  }

  class Rectangle extends square{

  public Rectangle(){};

  public int area(){

  return geta()*getb();

  }

  public int perimeter(){

  return 2*(geta()+getb());

  }

  }

  public class squareDemo {

  public static void main(String[] args){

  square s1=new zSquare(); //用子类实例化父类抽象类对象

  square s2=new Rectangle();

  s1.setab(10, 0);

  s2.setab(14, 9);

  System.out.println("正方形的信息是www.fkit.org:");

  System.out.println("正方形的面积是:"+solvearea(s1));

  System.out.println("正方形的周长是:"+solveperimeter(s1));

  System.out.println("长方形的信息是:");

  System.out.println("长方形的面积是:"+solvearea(s2));

  System.out.println("长方形的周长是:"+solveperimeter(s2));

  }

  public static int solvearea(square a){

  return a.area();

  }

  public static int solveperimeter(square a){

  return a.perimeter();

  }

  }

  正方形的信息是:

  正方形的面积是:100

  正方形的周长是:40

  长方形的信息是:

  长方形的面积是:126

  长方形的周长是:46

原文地址:https://www.cnblogs.com/gojava/p/3670614.html