抽象类与抽象方法的使用?
抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象类
如果子类没有实现父类的所有抽象方法,子类必须被定义为抽象类
没有抽象构造方法,也没有抽象静态方法
抽象类中可以有非抽象的构造方法,创建子类的实例时可能调用
抽象类与普通类的区别?
抽象类
使用abstract关键字修饰。
抽象类不能实例化,但可以创建一个引用变量,其类型是一个抽象类,指向非抽象的子类实例。
抽象类中可以有抽象方法 也可以么有抽象方法。
普通类
能够实例化。
普通类中一定不能含有抽象方法。
介绍多态
什么是多态?
多态:(继承关系)
同一个变量,引用不同的对象,执行不同的方法。
将子类对象赋值给父类类型的变量。父类变量调用的方法,如果该方法是子类重写过的父类方法,调用的就是子类重写父类的方法。如果该方法子类没有重写父类的方法,调用的是父类的方法。
向上转型
子类对象赋值给父类类型的变量。
向下转型
将父类当作方法的参数
将父类当作方法的返回值。