抽象类与接口

绪论:

抽象类接口是有紧密关糸的,接下来我们先从抽象类说起。

抽象类通常是作为其他类的一个父类,将其他类的方法进行一个声明,但又不给出具体的方法体,非常类似与C++中的函数声明,只不过C++的函数声明是可以放在任意一个函数里边。

  • [x] 需知如下知识点:
  1. 抽象类关键字abstract,无论是在成员变量还是具体方法,在前边加上一个abstract进行一个声明。
  2. 有抽象方法就一定有一个子类对其方法进行实现。
  3. 抽象类属于一个顶层归纳功能,方便大项目多成员同时进行代码维护。

例子
我们首先定义一个抽象类Abs,在里面定义两个抽象方法

abstract class Abs{
    abstract void show();
    abstract void show(int i);
}

我们接下来要实现这两个方法,我们需要一个子类Real,在子类去实现这两个方法:

public class Real extends Abs{//子类继承抽象类
    int x;
    void show(){//无参
        System.out.println("x="+x);
    }
    
    void show(int i){//有参
        x=i;
        System.out.println("x="+x);
    }
}

接下来补充好我们的测试类Test

public class Test {
    public static void main(String []args) {
        Real a=new Real();
        Real b=new Real();
        a.show();
        b.show(2);
    }
}

为什么我们要有抽象类这个东西呢??

当我们在做大项目的时候,有很多很多子类和属性需要增加的时候,我们可以通过抽象类进行增加,然后让其他开发人员自己扩充一个子类完成新的方法。比如我们在做游戏的时候,需要增加一个人物的技能属性,我们只需要让管理抽象类的程序员新增加一个方法,其余的事又可以找另外一个程序员进行子类扩充和方法实现,在大项目里非常方便!


Jackie豪
10 声望3 粉丝

程序小牛