展开全部
父类和抽象类:
父类是相对来说的,如果B类继承自A类,那么A类就是B类的父类,但是抽象类是一个绝对概念,只要使用abstract关键字声明的类都是抽象类。抽象类不能够直接被实例化,比如C类是抽象类,那么就不能使用new关键字声明C类的对象,只能声明抽象类子类的对象。一般来说,抽象类一定是某些类的父类(否则因为不能声明抽象类的对象,也就不能使用抽象类,当然这也不是绝对的,如果抽象类中的方法都是静态方法,不需要使用实例对象,那么也是可以的),但是父类不一定是抽象类。
子类关系:只要子类没有把从父类继承的抽象方法全部实现(注意是全部实现),就必须也变成抽象类。父类有2个抽象方法,子类只实现了父类的1个抽象方法,则子类必须是抽象类。如果子类把父类的2个抽象方法都实现了,就没必要是抽象类。判断标准就是,非抽象子类中不能有抽象方法,如果有抽象方法,子类就必须是抽象类。如果子类添加了自己的抽象方法,子类也必须是抽象类,无论父类是不是抽象类。
父类是相对来说的,如果B类继承自A类,那么A类就是B类的父类,但是抽象类是一个绝对概念,只要使用abstract关键字声明的类都是抽象类。抽象类不能够直接被实例化,比如C类是抽象类,那么就不能使用new关键字声明C类的对象,只能声明抽象类子类的对象。一般来说,抽象类一定是某些类的父类(否则因为不能声明抽象类的对象,也就不能使用抽象类,当然这也不是绝对的,如果抽象类中的方法都是静态方法,不需要使用实例对象,那么也是可以的),但是父类不一定是抽象类。
子类关系:只要子类没有把从父类继承的抽象方法全部实现(注意是全部实现),就必须也变成抽象类。父类有2个抽象方法,子类只实现了父类的1个抽象方法,则子类必须是抽象类。如果子类把父类的2个抽象方法都实现了,就没必要是抽象类。判断标准就是,非抽象子类中不能有抽象方法,如果有抽象方法,子类就必须是抽象类。如果子类添加了自己的抽象方法,子类也必须是抽象类,无论父类是不是抽象类。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询