抽象类的应用
接口的特点:定义接口的关键字:interface接口中只可以定义抽象方法,不可以定义非抽象方法类和接口之间的关系:不是继承关系,是实现关系实现接口关键字:implements类型实现一个接口之后,接口中的抽象方法,也能被该类所继承接口不能实例化接口和普通类以及抽象类一样,使用之前先编译
模板设计模式
抽象类成员特点
概述:每一个子类中的共有内容可以定义在父类中,当每一个子类需要该功能,但是有不同的实现内容时,可以将该功能定义为抽象的,也可以将该类型定义为抽象类
接口中变量的特点:接口中不能存在变量,只能存在常量如果接口中定义了一个变量,那么该变量会默认通过:staticfinal来修饰接口中方法的特点:接口中只可以定义抽象方法,不能定义非抽象方法,如果定义一个抽象方法,可以省略关键字:abstract接口中静态方法的特点:接口中可以定义静态方法接口不需要定义构造方法一个类型是否需要定义构造方法跟当前类可不可以创建对象有关系么?【没有关系】一个类型需要定义构造方法跟谁有关?【跟当前类中是否可以定义属性有关,当前类中可以定义属性,就需要从一构造方法,给它初始化,如果不能定义属性,就不需要定义构造方法来初始化】
抽象类中一般定义物体固有的属性和行为接口中一般通过拓展学习的来的行为
特点:
抽象方法
模板类代码:
抽象类中成员属性特点:抽象类中可以正常给该类型定义属性属性名本身有一层抽象话的含义,不能再次抽象抽象类成员方法的特点:抽象类中既可以定义抽象方法,也可以定义非抽象方法抽象类中一样可以定义静态方法,也可以被子类继承抽象类中可不可以定义构造方法?抽象类虽然不能创建对象,但是也需要定义构造方法原因:因为在初始化子类对象数据之前,需要先初始化父类中的数据,那么就需要使用父类中的构造方法。
类与类:继承关系–extends可以单继承、可以多层继承、不可以多继承类与接口【interface】:实现关系【implements】可以单实现、可以多实现、不可以多层实现单实现:实现之后,该类型可以结成接口的每一个抽象方法多实现:实现多个接口以后,可以继承每一个接口的方法不能多层实现:因为一个类型实现一个接口之后,那么该类和其他类之间不能实现关系,只能是继承关系接口与接口之间:继承关系extends可以单继承、可以多继承、可以多层继承
抽象类的特点
抽象类和接口的使用:
接口的成员特点
相同点:
概述:生活的角度:接口用来表示一些指定的规则,想要使用接口就要满足接口定义的要求,Java语言的角度:规则可以通过抽象方法来表示;接口就是专门来定义抽象方法的一个特殊类型。
类与类、类与接口、接口与接口的关系
子类代码:
不同点:
代码:
抽象类:使用abstract关键字来修饰抽象类和抽象方法的关系:抽象方法需要在抽象类中定义抽象类中不一定有抽象方法抽象类中可以定义非抽象方法抽象类不能实例化【不能创建对象】抽象类和普通类之间也可以是继承关系:如果子类继承了抽象父类,然后重写了父类中所有的抽象方法,那么该子类可以正常创建对象,是一个普通类型如果子类继承了抽象父类后,没有重写完父类中的所有抽象方法,那么该子类只能定义为一个抽象类,不能继续创建对象。
只有方法的声明,没有方法的实现
接口【JDK8之前】
抽象类和接口的区别
接口和抽象类都可以定义抽象方法
抽象类中一般定义物体固有的属性和行为接口中一般通过拓展学习的来的行为抽象类可以定义非抽象方法;接口不能定义非抽象方法抽象类可以定义属性;接口中不能定义属性抽象类需要定义构造方法;接口不需要定义构造方法
抽象方法不需要定义实现内容,大括号都不需要抽象方法一般使用关键字来修饰:abstract
抽象类可以定义非抽象方法;接口不能定义非抽象方法抽象类可以定义属性;接口中不能定义属性抽象类需要定义构造方法;接口不需要定义构造方法
文章为作者独立观点,不代表股票交易接口观点