/*
抽象行为:
当抽象一类事物的时候,发现该事物存在一种或是多种实际存在但是由不够具体的行为,不同的对象都拥有该行为,但是行为方式却不一样,
那么这种行为就称为抽象行为,拥有该抽象行为的类称为抽象类;那么我就可以使用抽象行为来解决、
抽象行为就是声明这种行为,表明这种行为确实存在,但是不去实现这种行为;
抽象类的使用规则;
1. 抽象方法没有方法体,即没有实现。反过来,如果一个类的成员方法没有方法体,俺么必须使用abstract声明为抽象方法;
2. 拥有抽象方法的类是就是抽象类,因此也必须将该类声明为抽象类,使用abstract关键字;
3. 如果一个非抽象类继承了抽象类,那么必须要把抽象类的所有抽象方法全部实现;
4. 抽象类中可以存在抽象方法和非抽象方法;
5. 抽象类中可以不存在抽象方法,但存在抽象方法的类一定要声明为抽象类;
6. 抽象类不能创建对象
原因:因为抽象类中存在抽象方法,如果抽象类能够创建对象,俺么使用该对象类调用抽象方法,是没有任何意义的。
7. 抽象类是存储构造函数的,其作用是提供给子类初始化成员变量的。
注意事项:
1. abstract 不能与private同时修饰一个方法,既然是abstract就说明是要实现的方法,而私有的方法时不可以访问的。
2. abstract 不能与static同时修饰一个方法,既然是static就说明可以使用类名直接访问,但是该方法未实现,该调用无意义。
3. abstract 不能与finale共同修饰一个方法; final说明不能重写的方法,而abstract是必须要实现的方法:
*/