类,接口,final

时光怂恿深爱的人放手 提交于 2019-12-02 16:57:33

继承extends
子类实例化过程:
子类中所有的构造方法默认都会访问父类中空参的构造方法
因为每一个子类的构造方法的提议行都有一条默认的语句super();
this super
final修饰类,变量和方法
final修饰的变量是常量,只能赋值一次,赋值初始值
final修饰的变量名称都大写,有多个单词组成要用下划线连接
不能被继承,一个类不想有子类,可以加上关键字final
当一个类中有些方法可以被重写,有些不能被从写时,可以加上final
当一个类的方法被final 关键字修饰后,这个类的子类将不能从写该方法
抽象类和接口
抽象类:定义方法时不写方法体,abstract void shout()
特点:
1.抽象类不可以被实例化,
2.不包含方法体的方法为抽象方法,
3.抽象方法必修使用abstract
4.抽象类必须有其子类覆盖掉所有的抽象方法后,其子类才可以被实例化,否则该子类还是一个抽象类
一般类与抽象类的异同:
一般类和抽象类都是用于描述事物
里面都可以定义属性和行为,以及构造方法
~一般类中不可以定义抽象方法,抽象类可以
~一般类可以被实例化,抽象类不可以
~一般类可以被继承,也可以不被继承,抽象类一定要被继承,需要其子类覆盖所有的抽象方法子类才可以被实例化
接口:抽象类中所有的方法都是抽象的
interface 接口名
{
常量名:全局变量 有固定修饰符public
static final
抽象方法:固定修饰符 public abstract
}
特点:
1.接口用interface定义
2.接口中的成员都有固定的修饰符
3.接口不能被实例化
4.接口必须有其子类覆盖所有的抽象方法后,该子类才可以被实例化
5.接口中的成员都是public修饰的。
类与类之间是继承关系
接口与接口之间是实现关系implements
结论:一个接口可以通过extends 继承接口,是仙子接口的类若想创建对象,必须重写所有的方法包括父接口的方法才可以创建对象
特点:
1.接口中的方法都是抽象的,不能实例化对象
2.当一个类实现接口时,如果这个类是抽象类,则实现接口中的部分方法即可,否则要实现接口中的所有方法
3.接口用implements实现,可以实现多个接口,多个接口间用逗号隔开class dog implements run,sleep
4.一个接口可以用extends继承多个接口,接口间用逗号隔开interface dog extends running,sleeping
5.一个类在继承另一个类的同时还可以实现接口extends要在implements前面class dog extends run implements animal
接口与抽象类的区别:
1.接口中之可以有常量,不能有变量,而抽象类中既可以有常量也可以有变量
2.抽象类是用来继承的,只能单继承,接口是用来实现的,可以多实现
3.抽象类中可以定义非抽象内容,直接提供给子类使用。
接口中只能定义抽象方法,需要子类全部实现

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!