多态
概念: 一种事物有多种形态,成为多态.
相同类型的变量,调用不同的对象的同一个方法,不同方法呈现方式不一样. 分类
方法和变量 方法分类: 方法重写和方法重载 变量分类: 申明一个父类变量,这个变量即可装父类对象,也可以装子类对象 Super sup=new Super(); Super sup=new Sub();//向上转型 自动转型 形态分 静态多态动态多态 静态:重载 多态:重写和向上转型 向上转型:一个父类类型的变量指向一个子类类型的对象. Super sup=new Sub();//向上转型 自动转型 向下转型:子类类型对象由父类类型转换为自己原来的子类类型. Sub sub=(Sub)sup; instanceof 比较对象是不是某种类型
当你无法确定该方法具体实现,那么就可以把该方法定义为抽象方法. 抽象方法语法规则: abstract [访问修饰符] 返回值 方法名([参数列表]);
一个类中如果有抽象方法,那么该类一定是一个抽象类. 抽象类的语法规则: abstract class 类名{ [abstract [访问修饰符] 返回值 方法名([参数列表]); ] [访问修饰符] 返回值 方法名([参数列表]){ //方法体 } } 抽象类的作用 定义类的模板,就是子类去重写实现方法. 注意: 1. 抽象方法没有方法体. 2.一个普通子类去继承一个抽象类,那么该类,实现抽象类中所有抽象方法. 3.抽象类不能被实例化,但是可以有构造器 只能实例化非抽象子类 4.抽象类不被分配内存 5.抽象方法static final private修饰 final 修饰符: 最终的,不可改变的 变量: 改变量成常量,一旦赋值不能被改变. 局部变量: 定义赋值 成员变量:定义赋值赋值,或者再构造器中赋值 方法:该方法是最终的方法,不能被重写(不会在变) 类:最终的类,不能有子类 (断更类)