Differences between Java interfaces and abstract classes

Basic grammatical differences

public interface Animal {
    // 所有动物都会吃
    public void eat();

    // 所有动物都会飞
    public void fly();
}
public abstract class Animal {
    // 所有动物都会吃
    public abstract void eat();

    // 所有动物都会飞
    public void fly(){};
}
public class concreteAnimal implements Animal {
    // 所有动物都会吃
    public void eat(){}

    // 所有动物都会飞
    public void fly(){}
}
public class concreteAnimal extends Animal {
    // 所有动物都会吃
    public void eat(){}

    // 所有动物都会飞
    public void fly(){}
}

Differences in design ideas

public interface Animal {
    // 所有动物都会吃
    public void eat();
}
public abstract class Animal {
    // 所有动物都会吃
    public abstract void eat();
}
public class concreteAnimal implements Animal {
    // 所有动物都会吃
    public void eat(){}
}
public class concreteAnimal extends Animal {
    // 所有动物都会吃
    public void eat(){}
}
public interface Animal {
    // 所有动物都会吃
    public void eat();

    // 所有动物都会飞
    public void fly();
}
public abstract class Animal {
    // 所有动物都会吃
    public abstract void eat();

    // 所有动物都会飞
    public void fly(){};
}
public interface AnimaiFly {
    // 所有动物都会飞
    public void fly();
}
public class concreteAnimal implements Animal,AnimaiFly {
    // 所有动物都会吃
    public void eat(){}

    // 动物会飞
    public void fly();
}
public abstract class AnimaiFly {
    // 动物会飞
    public void fly();
}
public abstract class AnimaiFly extends Animal {
    // 动物会飞
    public void fly();
}
public abstract class Animal {
    // 所有动物都会吃
    public abstract void eat();
}
public interface AnimaiFly {
    // 动物会飞
    public void fly();
}
public class concreteAnimal extends Animal implements AnimaiFly {
    // 所有动物都会吃
    public void eat(){}

    // 动物会飞
    public void fly();
}
public interface Animal {
    // 所有动物都会吃
    public abstract void eat();
}
public abstract class AnimaiFly {
    // 动物会飞
    public void fly(){};
}
public class concreteAnimal extends AnimaiFly implements Animal {
    // 所有动物都会吃
    public void eat(){}

    // 动物会飞
    public void fly();
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>