为什么能调用到实现类的方法
在Java多态的特点中:当父类(接口)引用指向子类(实现类)的对象时,父类的引用就能直接调用子类中的方法
ex:List list = new ArrayList();
List是一个接口,ArrayList就是List的一个实现类
Java三大特性:
1、封装:一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
2、继承:子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
3、多态:同一个行为具有多个不同表现形式或形态的能力。
意义
一句话概述:为了减少开发过程中代码的修改量
如下例子
写一个Animal接口,含有叫和跑两个方法
public interface Animal {
public void call();
public void run();
}
Dog类和Cat类都时Animal的实现类
//Dog类
public class Dog implements Animal {
@Override
public void call() {
System.out.println("大狗在汪!");
}
@Override
public void run() {
System.out.println("狗在狂奔");
}
}
//Cat类
public class Cat implements Animal {
@Override
public void call() {
System.out.println("猫咪在喵~");
}
@Override
public void run() {
System.out.println("猫咪在散步");
}
}
测试猫:
public class test {
public static void main(String[] args) {
Animal animal = new Cat();
animal.call();
animal.run();
}
}
换成狗:
public class test {
public static void main(String[] args) {
Animal animal = new Dog();
animal.call();
animal.run();
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/147372.html