Differences between Java interfaces and abstract classes
•
Java
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
二维码