面向对象特征封装、继承、多态
决定调用哪个重写的方法(多态在继承关系中的表现),是由new的创建的实例对象来决定的。
特别强调了:动态绑定 一个父类对象可以指向多个子类的现象。
引用数据类型:
抽象类和接口
java为了加强动态绑定,为了加强方法重写(为了加强多态),设计了抽奖类和接口
抽象类:(抽象类和抽象方法)
父类里面的抽象方法没有方法体(没有{ })
一个子类继承抽象父类,必须要方法重写
这个类定义成抽象,这个类不能实例化。可以有构造函数
抽象类一定依赖子类完成实例化。
抽象类一定要去动态绑定。
抽象类是用abstract关键字修饰的,不能实例化,不能去new创建对象;
抽象类可以有构造函数,提供给子类的构造函数完成依赖
抽象类可以有抽象方法,也可以没有抽象方法
一般来说:抽象类提供设计抽象方法,给子类继承,就是为了方法重写。
如果一个类有抽象方法,这个类肯定是抽象类。
abstract和static不能同时修饰一个方法
输入的一个例子: