目录
抽象类(abstract)
概念
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
特征
1.抽象类不能被实例化;
2.抽象类必须被继承,才能被使用;
3.一个类只能继承一个抽象类。
抽象类对比普通类
抽象类不能被实例化;
普通类可以被实例化。
抽象方法对比普通方法
抽象方法没有方法体;
普通方法没有方法体。
接口(英文:interface)
概念
接口并不是类,只是一个抽象方法的集合。
作用
提高代码的可拓展性和后期的维护性。
命名规范
要以I开头,以包名结尾
关键字 implements
接口和类的区别
1.接口无法被实例化,但可以被实现;
2.接口中无构造方法;
3.接口中所有的方法必须是抽象方法;
4.接口中只能声明静态常量,不能声明成员和局部变量;
5.接口是被类实现的,可以多实现。
抽象类
特征
1.抽象类关键字abstract不可以和private、final、static关键字共存;
2.抽象类有构造函数,是由子类的super语句来调用,用于给抽象类中的成员初始化;
3.JAVA抽象类中可以包含main方法,只是一个静态方法,可以使用main方法执行抽象类,但不可以创建任何实例。
接口和抽象类的区别
1.接口中的方法不可以用static修饰;
2.一个类只能继承一个抽象类,而一个类却可以实现多个接口。(单继承,多实现)
方法重写(Override)
方法名、参数列表、返回值必须一致。
方法重写与重载的区别
1.方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载。
2 .方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写。
3.方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。