抽象类和接口

一,抽象类

  抽象类语法:

    [访问修饰符]  abstract  class  类名{

       }

  抽象方法语法:

    [访问修饰符]  abstract  返回值类型  方法名([参数]{

      }

  抽象类和普通类区别:

    1,抽象类比普通了多了一个abstract修饰符

    2,抽象类里既可以有抽象方法,又可以有普通方法。普通类只能有普通方法

    3,抽象类拥有构造器,但不能创建对象。普通类是可以创建对象的

  注意:

    1,虽然抽象类不能创建对象,但可以声明对象

    2,抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类

    3abstract 只能修饰类,方法

二,接口

  接口:接口是一种能力,功能。他是比抽象类更加抽象的类

       接口中只能有两样东西:1,常量  2,抽象方法

  语法:[访问修饰符]  interface  接口名{

      }

  ★,只在接口中,常量可以省略 static final  修饰符,名字可以小写,访问修饰符必须 public。只在接口中,抽象方法可以省略  abstract 修饰符

  注意:

    1,不能实例化对象

    2,可以声明对象

    3,普通类实现接口时,必须重写接口方法。除非这个类是抽象类

  类和接口直接关系:

    只能用实现(implement),实现接口能力,功能

    这个类成为实现类,相对于继承里子类,接口相对于继承里父类。

    注意:

      一个类在继承父类并同时继承接口时,必须先继承父类,再实现接口

      一个类只能继承一个父类,但可以实现多个接口,接口间用隔开

      接口弥补了 java 中单继承的缺点。

    ★关系:

      类和类之间 只能用继承 extends 一个类只能同时继承一个类

      类和接口之间 只能用实现 implement 一个类可同时实现多个接口

      接口和接口之间 只能用继承 extends 一个接口可同时继承多个接口

三,通过对象传值方式

  1,通过参数形式传值

  2,通过属性形式传值 把类当作数据类型,对象当做属性,变量

原文地址:https://www.cnblogs.com/kide1412/p/10882950.html