java继承和接口
在面向对象中接口和继承是无法进行对比和区分的。
继承可以看做是人类继承了动物,而猴子也继承了动物。同样他们继承了动物的特有的属性如:生长,死亡等属性,同时也继承了相对的方法如吃东西,饮水等。但是继承只能单向继承,人类继承了动物不可在继承植物。可以多重继承,如人类继承于动物,动物继承于生物。
接口可以看做是一种动作比如使用武器,人类想要使用武器就需要接入使用武器这个接口来进行实现,同理猴子也是。同时也可以继续接入种植等,也就是可以实现多接口
在java中,接口也可以用于继承关系,使用刀和使用剑都继承于使用武器这个接口,如集合中List继承于Collection。
继承
public abstract class Biology {
public void energy(){
System.out.println("所有的生物都要获取能量");
}
}
public abstract class Animal extends Biology{
@Override
public void energy() {
System.out.println("动物来获取能量");
}
}
public class monkey extends Animal{
@Override
public void energy() {
System.out.println("猴子吃东西");
}
}
public class people extends Animal{
@Override
public void energy() {
System.out.println("人类吃东西");
}
}
//其中生物和动物为抽象类:abstract
接口
public interface arms {
void use();
}
public class people extends Animal implements arms{
@Override
public void energy() {
System.out.println("人类吃东西");
}
@Override
public void use() {
System.out.println("人类会使用武器");
}
}
继承和注意事项
继承:
关键字(修饰符):extends
子类会继承父类中所有的属性和方法,但是私有属性和方法不能直接调用(可以通过get()方法调用)
注意事项:
方法重写
只发生在右继承关系 的两个类之间
返回值类型,方法名,参数类型(个数顺序)和原方法完全相同
是亲爹
接口和注意事项
接口:
关键字(修饰符)interface
注意事项
接口没有构造方法,其中所有方法必须都是抽象方法
接口中不能包含成员变量,除了static和final变量
是干爹