这个啊,黑马毕老师的视频里是这么说的
分情况,因为抽象类中分为,抽象方法和非抽像方法,只能单继承
抽象方法,没有方法体,需要子类对象,重写后,才可以调用,即对象名.函数名,注意,抽象类不可以 new 本类对象,如果子类只覆盖了部分抽象方法,该子类还是一个抽象类,所以全部重写,非抽象函数则不用
非抽象方法,也可以使用对象名.函数名调用,也可以直接使用 类名.函数名,但是前提是,该函数,需要 static修饰,且没有private
例子- abstract class Employee{
- private String name;
- private String id;
- private double pay;
-
- Employee(String name,String id,double pay){
- this.String name = name;
- this.String id = id;
- this.pay = pay;
- }
-
- public abstract void work();
- }
- class Manager extends Employee{
- private int bonus;
- Manager(String name,String id,double pay,int bonus){
- super(name,id,pay);
- this.bonus = bonus;
- }
- public void work(){
- System.out.println("Manager work");
- }
- }
- class Pro extends Employee{
- Pro(String name,String id,double pay,int bonus){
- super(name,id,pay);
- }
- public void work(){
- System.out.println("Pro work");
- }
- }
复制代码 以上是我的学习笔记,如有错误请指正 |