1.抽象类
1.1抽象类概念
在面向对象的概念中,所有的对象都是通过类来描绘的,但反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样得类就是抽象类。、
1.2抽象类语法
在java中,一个类吐过被abstract修饰类称为抽象类,抽象类中被abstract修饰的方法成为抽象方法,抽象方法不用给出具体的实现体。
1.3抽象类特性
1.抽象类不能直接实例化对象
2.抽象方法不能是private的
3.抽象方法不能被final和stastic修饰,因为抽象方法要被子类重写
4.抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用abstract修饰
5.抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类
2.接口
2.1接口的概念
接口就是公共的行为规范标准,在实现时,只要符合规范标准,就可以通用,在java中,就扣可以看成是:多个类的公共规范,是一种引用数据类型。
2.2语法规则
接口的定义格式与定义类的格式基本相同,将class关键字换成interface关键字,就定义了一个接口。
1.创建接口时,接口的命名一般以大写字母I开头。
2.接口的命名一般使用“形容词”词性的单词。
3.阿里编码规范中约定,接口中的方法和属性不要加任何修饰符号,保持代码的间洁性。
2.3接口使用
定义接口
电脑类
2.4 接口特性
1.接口类型是一种引用类型,但是不能直接new接口的实例
2.接口中每一个方法都是public的抽象方法
3.就扣中可以含有变量,但是接口中的变量会被隐式的指定为public static final变量
4.接口中的方法是不能在接口中实现的,只能由实现接口的类来实现
5.接口虽然不是类,但是接口编译完成后字节码文件的后缀格式也是public
6.接口中不能有静态代码块和构造方法
2.5实现多个接口
在java中,类和类之间是单继承的,一个类只能有一个父类,在java中不支持多继承,但是一个类与接口之间是多实现的,一个类可以实现多个接口。实现多个接口的方法只需在一个接口后边加上其他接口逗号隔开即可。
2.6抽象类和接口的区别
抽象类和接口都是java中多态的常见使用方式,它们的核心区别是抽象类中可以包含普通方法和普通字段,这样的普通方法和字段可以被子类直接使用,而接口中不能包含普通方法,子类必须重写所有的抽象方法。