Java-多态(下)
多态 一种类型的多种状态 还有一个小汽车的例子再理解下
汽车接口(相当于父类)
package com.oop.demo10;
public interface Car {
String getName();
int getMoney();
}
宝马车(子类)
package com.oop.demo10;
public class BWM implements Car {
@Override
public String getName() {
return "宝马车";
}
@Override
public int getMoney() {
return 1000000;
}
}
奥迪车(子类)
package com.oop.demo10;
public class Audi implements Car {
@Override
public String getName() {
return "奥迪";
}
@Override
public int getMoney() {
return 200000;
}
}
4S店
package com.oop.demo10;
public class CarShop {
public int total = 0;
/*
* 这里并不知道具体的car是什么
* 比如 宝马 奥迪 大众 奔驰等等
* 只能等到运行时期才会知道
* 不需要关心是什么具体的车
* 只跟car打交道就好了
* 这就是多态 一个car有很多种类型
* 不需要像以前那样 if 是 宝马 多少钱 奔驰 多少钱等等进行操作
* 非常的动态化 不到运行时期 不知道是哪一款车
* */
public void sellCar(Car car) {
System.out.println("车辆名称是== \t" + car.getName());
total += car.getMoney();
}
public int getTotal(){
return this.total;
}
}
测试类
package com.oop;
import com.oop.demo10.Audi;
import com.oop.demo10.BWM;
import com.oop.demo10.CarShop;
public class Applcation {
public static void main(String[] args) {
CarShop carShop = new CarShop();
carShop.sellCar(new BWM());
System.out.println(carShop.getTotal());
System.out.println("=====================");
carShop.sellCar(new Audi());
System.out.println(carShop.getTotal());
}
}
结果
Java-多态(下)的更多相关文章
- Java多态的向上转型和向下转型
Java多态的向上转型和向下转型 向上转型:(子类转为父类,自动转型) 格式 :父类类型 变量名 = new 子类类型(); 注:子类赋值给父类,那这时这个父类就能调用子类的方法 向下转型:(父类转为 ...
- Java多态之向下转型
目录 Java多态之向下转型 强制类型转换 instanceof Java多态之向下转型 往期回顾:我们学习了向上转型和动态绑定的概念,可以知道在继承关系中,将一个子类对象赋值给父类的引用变量,调用父 ...
- 深入理解Java多态机制
从字节码层面来看,Java中的所有方法调用,最终无外乎转换为如下几条调用指令. invokestatic: 调用静态方法. invokespecial: 调用实例构造器<init>方法,私 ...
- 从JVM角度看Java多态
首先,明确一下,Java多态的三个必要条件: 1. 继承 2. 子类重写父类方法 3. 父类引用指向子类对象 然后看一个例子 package test.xing; class Father{ prot ...
- 关于java多态的理解
要理解多态,就必须有一个大的理解方向,不然很容易绕进去. 首先知道多态的释义:多态性是指一个名词可以有多种语义. 对于java的多态性学习者来说,就是必须要知道多个同名方法在不同情况下的使用规则. j ...
- 学JAVA第十六 天,JAVA多态
今天老师讲了多态的使用 多态是同一个行为具有多个不同表现形式或形态的能力. 多态的优点: 1. 消除类型之间的耦合关系 2. 可替换性 3. 可扩充性 4. 接口性 5. 灵活性 6. 简化性 我个 ...
- 对java多态的理解
java多态,如何理解父类引用指向子类对象 要理解多态性,首先要知道什么是“向上转型”. 我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类.我可以通过 Cat c = new C ...
- Java多态-如何理解父类引用指向子类对象
java多态,如何理解父类引用指向子类对象 要理解多态性,首先要知道什么是“向上转型”. 我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类.我可以通过 Cat c = new ...
- Java多态 父类引用指向子类对象
Java多态的三个必要条件: 1. 继承 2. 子类重写父类方法 3. 父类引用指向子类对象 然后看一个例子 输出结果为: 给出结论:Father c = new Child() 在c的 ...
- Java-Runoob-面向对象:Java 多态
ylbtech-Java-Runoob-面向对象:Java 多态 1.返回顶部 1. Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操 ...
随机推荐
- jquery validate 验证插件 解决多个相同的Name 只验证第一个的方案
方案一:如果 项目里不是只是个别页面 有多个name 验证, 那么利用 prototype 来写,把这段代码加在你所要使用多个name的页面 的js初始化里 即可 if ($.validator) ...
- Helm on K8S
前言 容器的出现,标志着云原生的到来,Docker 基于 Linux 隔离.虚拟化等能力封装了应用:Kubernetes 的出现,建立了云原生时代的技术基础设施,它基于对容器的编排封装了集群:Kube ...
- 【Azure 应用服务】Python flask 应用部署在Aure App Service 遇见的 3 个问题
在App Service(Windows)中部署Flask应用时的注意事项: ● 添加Python扩展插件,Python 3.6.4 x64: ●● 配置 FastCGI 处理程序,添加Web.con ...
- 一文读懂Base64编码
Base64编码 字符对应表 上表就是用来表示Base64,一共64个字符,A-Z,a-z,0-9,+,-,还有=(作为补位) 无论将文件,字符串,还是什么转为Base64,一定是用上表的字符表示. ...
- JMeter中使用交替控制器设置循环次数后都执行一次?
JMeter在线程组设置循环3次,执行后只执行了一次就停止执行了 排查原因:线程组下添加了一些请求信息(HTTP Cache Manager.HTTP Cookie Manager.HTTP Requ ...
- 录制脚本启动报错:target controller is configured to “use recording Controller” but no such controller exists,ensure you add a Recording Controller as child of Thread Group node to start recording correctly
使用JMeter自带录制脚本元件录制,已配置好代理,启动时报错,如图 解决方案: 未指定录制请求信息的存放位置,下拉选择后重新启动即可 对于代理配置有疑问可见性能测试工具JMeter 基础(四)-- ...
- JS_DOM操作之绑定事件
1 - 静态绑定:直接把事件写在标签元素中 <div id="div" onclick="foo(this)">click</div> ...
- 史上最全git命令集
配置化命令 git config --global user.name "Your Name" git config --global user.email "email ...
- 对easyui-validatebox的验证类型的扩展
easyui为我们提供了validatebox类型的组件,使用它可以完成自动验证,十分方便.要注意的是,easyui中的各个组件都是有继承关系的.通过查看api,textbox继承validatebo ...
- Linux的基础命令(一)
目录: 一.Linux系统基础 1.shell 2. Linux命令的分类 二.Linux命令行 1.Linux命令行提示符 2.Linux通用命令行使用格式 3.Lin ...