转载

Java抽象类和接口小记

Java抽象类和接口小记

  • Java抽象类和接口实现了java的多态.多态是面向对象程序语言的核心,在项目开发过程中,其实很少使用抽象类,接口用得比较多,今天小记一下抽象类和接口的区别.
  1. 抽象类
/*
 * 抽象类不能被实例化
 * 抽象类可以继承
 * 可以定义变量
 * 可以定义构造方法
 * 抽象方法的abstract要显式的写出来
 * 其子类必须实现抽象类的所有抽象方法
 */
abstract class ab extends Object{

    int a = 0;

    public ab() {
    }
    public abstract void f();

}
  • 总结:抽象类和普通类的差别是,不能被实例化,可以定义抽象方法,但子类必须实现
  1. 接口
/**
 * 可以用extends继承其它接口
 * 只能定义常量,不能定义变量
 * 不能定义构造方法
 * 方法全是抽象方法
 * 实现类必须实现其所有抽象方法
 */
interface In {
    public int a=0;
    
    public void a();
    public void b();
}

2.1 接口的实现

class InImpl implements In{
    @Override
    public void a() {
        
    }

    @Override
    public void b() {

    }
}
  • 总结:接口比抽象类更抽象,只能定义抽象方法,也只能定义常量,不能定义构造方法.想想也是,接口定义的是一种规范.在工业上,接口定义不就是插槽的基本参数和技术规范吗?因此接口称之为接口果然名副其实.
原文  https://segmentfault.com/a/1190000018417433
正文到此结束
Loading...