如果要求程序员必须在某个类中特定的方法中实现一个特定的功能, 应该如何实现?
可以使用接口来约束规范,然后在其他类中具体实现功能,接口实现类
接口的作用?
接口可以实现多重继承,接口可以规范实现类,仅提供方法的定义,不提供实现方法
接口和接口实现类定义的语法
public interface 接口名{
default void defaultMethod(){
System.out.println("默认实现方法");
}
}
public class 类名 implements 接口名{
}
实现类在实现一个接口的时候, 需要注意哪些问题?
接口是实现类中的方法都是用public.
接口中定义的方法,实现类中一定要全部覆盖,或者要把实现类变为抽象类.
实现类实现接口是,方法覆盖子类的修饰符必须大于等于父类方法
接口和抽象类的区别?
接口一定是抽象的,其方法需要的是抽象方法,java可以通过接口来实现多继承.接口是多个抽象方法的集合
抽象类就是单纯的抽象方法
如何理解编译类型和运行类型?
在使用多态的时候,左边的就是编译类型,右边的就是运行类型
程序是先进行编译,编译成功了,证明父类这个类有这个方法,再进子类方法的运行,如果子类没有方法,那就运行父类的方法
什么是多态? 如何体现多态?
多态就是一个对象的多种形态,比如可以用 animal is a dog
dog is a dog
多态继承实现:
父类 变量名 = new 子类();
变量名.方法();
多态操作实现:
接口 变量名 = new 实现类();
变量名.方法();
多态情况下, 方法访问的流程?
在方法调用的时候,先编译父类寻找方法,编译不成功那就报错
编译成功,就到运行时期,运行时期先找子类,子类找不到,就到父类去找
多态的好处?
能够实现一个对象的多种形态,也便于维修,提高代码效率
同一操作可以用于不同对象,也可以有不同的解释