JJJJJava抽象类

2019-08-12  本文已影响0人  南在南方i

抽象类 abstract

必须使用关键字abstract修饰
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象

抽象类存在的意义

1.因为抽象类不能实例化对象,所以必须要有子类来实现它之后才能使用。这样就可以把一些具有相同属性和方法的组件进行抽象,这样更有利于代码和程序的维护。
比如本科和研究生可以抽象成学生,他们有相同的属性和方法。这样当你对其中某个类进行修改时会受到父类的限制,这样就会提醒开发人员有些东西不能进行随意修改,这样可以对比较重要的东西进行统一的限制,也算是一种保护,对维护会有很大的帮助。
2.当又有一个具有相似的组件产生时,只需要实现该抽象类就可以获得该抽象类的那些属性和方法。
比如学校又新产生了专科生这类学生,那么专科生直接继承学生,然后对自己特有的属性和方法进行补充即可。这样对于代码的重用也是很好的体现。

小训练(抽象类与继承-长方形的面积与周长)

package demo;


public class Test {
    public static void main(String[] args){
        //new一个对象 进行赋值
        Way w = new Way(20,30);
        
        //进行调用
        w.perimeter();
        w.area();
    }
}


abstract class Rectangle{
    //定义长度和宽度
    int length;
    int wide;
    
    //有参构造方法进行赋值
    public Rectangle(int length,int wide){
        this.length = length;
        this.wide = wide;
    }

    //周长抽象类
    public abstract void perimeter();

    //面积抽象类
    public abstract void area();

}

//继承
class Way extends Rectangle{
    
    //继承父类的参数
    public Way(int length,int wide){
        super(length,wide);
    }
    
    //实现抽象类中的方法
    public void perimeter(){
        int perimeter = (length+wide)*2;
        System.out.println("perimeter:"+perimeter);
    }

    public void area(){
        int area = length*wide;
        System.out.println("area:"+area);
    }
}

PS.

上一篇 下一篇

猜你喜欢

热点阅读