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
二维码
