本帖最后由 先小涛 于 2013-4-20 10:24 编辑
抽象类中的抽象方法只是定义功能,比如人要吃饭,但是不同的人吃饭的方式不同,所以事先无法具体实现功能。那么这时可以只定义方法,让具体的子类去实现。比如婴儿需要喂着吃- abstract class Person{
- public abstract void chiFan();//只是定义功能,具体由子类实现
- }
- class Baby extends Person{
- public void chiFan(){
- System.out.println("喂着吃");
- }
- }
复制代码 而java语法规定被static修饰的方法是不能被继承的,而抽象方法必须要求子类实现的,由此可见static与abstract是矛盾的,故不能同时修饰方法。
还有static意思是静态的,而非动态的,随着类走的,相当于类的成员变量,类的属性共性,不是随意变化的。
而非静态方法是随着对象走的,可变化的,多态的。 |