描述一类事物的时候发现该类存在一种行为,但不知道行为具体怎么实现,我们将这种行为称之为抽象行为,这时候我们就需要抽象类
抽象类的好处:抽象类中的抽象方法一定要备子类重写
抽象类注意点:
1.在类中,一个类如果没有方法体,则必须用abstract修饰符,变成抽象方法
2.如果一个类中有抽象方法,则这个类也必须是抽象类
3.非抽象类继承抽象类时,必须重写父类的抽象方法
4.抽象类不能构造对象,但抽象类有构造方法,给子类创建对象时使用
5.抽象类中可以有抽象方法,也可以有非抽象方法
6.抽象类继承抽象类,可以重写抽象方法,也可以不重写
abstract不可以和final static private关键字一起使用
不可以和final ,private一起使用是因为,抽象类必须被继承,否则将没有意义,抽象方法也必须要重写,因为抽象方法没有具体的方法体
不可以和static使用是因为抽象类中方法没有具体实现,被调用了没有任何意义
java中的普通类和抽象类只支持单继承,一个类只可以有一个直接的父类,但是可以有多个间接的父类
1 public class Demo2 { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 ChinaBank cb = new ChinaBank(); 8 9 // Bank b = new Bank(); 10 11 } 12 13 } 14 15 abstract class Bank{ 16 String name; 17 18 Bank(){ 19 System.out.println("抽象方法"); 20 } 21 22 public abstract void getMoney(); 23 24 25 public void saveMoney(){ 26 System.out.println("Bank saveMoney"); 27 } 28 } 29 30 class ChinaBank extends Bank{ 31 32 String remark; 33 34 public void buyChinaBank(){ 35 System.out.println("ChinaBankSelf method。。。。。。"); 36 } 37 38 @Override 39 public void getMoney() { 40 // TODO Auto-generated method stub 41 42 } 43 44 }