• 没事点点广告,也是对博主的支持,谢谢!
  • 本站提供丰富的素材下载,有源码、模板、插件...
  • 内容如有侵犯,请立即联系管理员删除
雷小天博客

首页  > 说说  > JAVA  

什么是抽象类,以及抽象类的作用和用法

抽象类自身不能创建对象,但是它的子类可以创建对象。

抽象它的子键字是abstract

在父类中定义的抽象方法,在子类中必须实现(即方法重写)

抽象方法没有方法体。

抽象方法必须定义在抽象类中。

package com.jredu.oopch03;

/**

 * 抽象类

 * @author Administrator

 *

 */

public abstract class Shape2 {

 

protected int bottom;//底

protected int height;//高

public Shape2(int bottom, int height) {

super();

this.bottom = bottom;

this.height = height;

}

public abstract void perimeter();//抽象方法

public abstract void area();

}

在子类中实现方法:

@Override

public void perimeter() {

// TODO Auto-generated method stub

        int perimeter = (bottom*height)*2;

        System.out.println("平行四边形的周长是:"+perimeter);

}

 

@Override

public void area() {

// TODO Auto-generated method stub

int area = bottom*height;

System.out.println("平行四边形的面积是:"+area);

}

抽象类就是为了继承而存在的,如果你定义了一个抽象类,却不去继承它,那么等于白白创建了这个抽象类,因为你不能用它来做任何事情。对于一个父类,如果它的某个方法在父类中实现出来没有任何意义,必须根据子类的实际需求来进行不同的实现,那么就可以将这个方法声明为abstract方法,此时这个类也就成为abstract类了。

  包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。注意,抽象类和普通类的主要有三点区别:

  1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。

  2)抽象类不能用来创建对象;

  3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。

  在其他方面,抽象类和普通的类并没有区别。



选择风格关闭

取消 雷小天博客