什么是抽象类?
含有抽象方法的类一定是抽象类(不含抽象方法的类也可以是抽象类只要用abstract关键字来修饰).
抽象类中可以有普通方法和抽象方法,抽象类可以有自己的构造方法或使用默认的无参数的构造方法
抽象类不一定有抽象方法,抽象类可以没有抽象方法,没有抽象方法的抽象类的存在意义就是不能被实例化。
当继承自抽象类时必须实现抽象类中的所有抽象方法,除非继承的类也是抽象类。
抽象类中的抽象方法不能用private来修饰(因为子类要实现抽象类中的所有抽象方法,private访问修饰符代表只能在类的内部使用,不能再类的外部使用,这样的话子类就不能实现父类中的抽象方法,违背语法规律)
什么是抽象方法?
不含方法体的方法(连大括号也没有,大括号里面的代码叫做代码块,不是方法体,方法体指的是大括号及其里面的代码块),并且以分号;结束,以关键字abstract来修饰的方法称为抽象方法。
抽象类的存在意义:
1.抽象类不能被实例化(不能被new)
2.抽象类存在的意义就是为了被继承(当父类)
接口是一种高度抽象的抽象类。