袁艺

个人站

欢迎来到我的个人站~


抽象

抽象 abstract

  • 抽象类

  为什么要修饰类?  只体现父类的特点,不让外界new父类对象
  抽象类? 使用abstract修饰的类,里面可以有属性、构造方法、普通方法、静态方法、抽象方法
   
特点:

    1. 抽象类不能创建对象     1. 抽象类中可以放构造、静态、普通方法,但是抽象类中还可以放抽象方法     2. 如果里面定义了抽象的方法,则所有的子类必须实现抽象方法

  • 抽象方法

   格式:访问修饰符 abstract 返回值 方法名([参数]);
   特点:

    1. 使用abstract修饰     2. 没有方法体     3. .只能存在于抽象类中

场景:要求所有的子类都必须重写的方法,在父类中定义成抽象方法  


接口 interface

  • 接口产生的原因?
    • 提供了一种专门制定功能
    • 提供了多重继承,弥补了单继承的不足
  • 如何定义接口?

    格式:访问修饰符 interface 接口名{ 常量   抽象方法   }

  • 接口的默认修饰符?

     接口的常量:public static final 这三个是默认的修饰符
     抽象方法:public abstract

  • 接口能否继承?

     不能继承类,但是可以继承接口,但是不能实现接口

  • 接口定义后如何使用?

     implements后面如果有多个接口使用“,”分割

  • 如果既有继承又有接口的实现:

    必须先继承后接口

Public class 类名 extends 父类 implements 接口1接口2……(){
           //该类中拥有了父类所有接口的特点
}

总结:

     抽象类和接口的区别:
       相同:
         1.都允许定义抽象方法
         2.都是为子类提供功能
         3.都不能创建对象

       不相同:
         1.抽象类中允许存在其他的方法,但是接口中只能存在抽象方法
         2.抽象类是用来继承的使用extends,接口是用来实现的implements
         3.抽象类的继承必须是单继承,但是接口就可以实现多个接口
         4.抽象类中可以定义构造方法,但接口中欧不能定义
         5.抽象类中可以有成员变量(属性),接口中只能定义常量