【java】 向上转型的运用
应用 :求面积
1,抽象类 Geometry .
public abstract class Geometry {
public abstract double getArea();
}
2,矩形 Rect
public class Rect extends Geometry{
double a,b;
Rect(double a,double b){
this.a = a;
this.b = b;
}
@Override
public double getArea() {
return a*b;
}
}
3,圆形 Circle
public class Circle extends Geometry{
double r;
public Circle(double r) {
this.r = r;
}
@Override
public double getArea() {
// TODO Auto-generated method stub
return 3.14*r*r;
}
}
4, 数组存模 , 使用抽象方法 。 求面积和 (注入灵魂)
public class TotalArea {
double area(Geometry ...p) {
double sum = 0;
for (int i = 0; i < p.length; i++) {
sum += p[i].getArea();
}
return sum;
}
}
5 , 主类 Main
public class Main {
public static void main(String[] args) {
TotalArea t = new TotalArea();
double area = t.area(new Rect(2, 3),new Circle(5.2),new Circle(12));
System.out.printf("面积和: \n",area);
}
}
【java】 向上转型的运用的更多相关文章
- Java向上转型和向下转型(附具体样例)
Java向上转型和向下转型(附具体样例) 熬夜整理的关于Java向上和向下转型的样例,很的通俗易懂哦~~~~ 一 ...
- java 向上转型 向下转型
//父类 四边形 class Quadrangle{ public static void draw (Quadrangle q){ } } //子类 public class Parallelog ...
- Java向上转型的意义
比如我这个程序 public class Testjava{ public static void main(String args[]) { fun(new Student()); fun(new ...
- java 向上转型与向下转型
转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展. 向上转型:子类引用的对象 ...
- java向上转型和向下转型1
在java继承体系中,认为父类(超类)在上层,子类在下层(派生类) ,向上转型就是把子类对象转成父类对象. public class Father { public void eat(){ Syste ...
- (原)java 向上转型中,任何域的访问操作都是由编译器解析,不是多态
最近在向java发力,学习学习了下.看到了多态这一节,书中有个比较好的例子,所以就准备写下来,记录下来: package dynamic_binding01; public class dynamic ...
- java 向上转型和向下转型
学习向上转型和向下转型怎么用没多难,但是为什么那样用,我搞了很多次没弄明白.没弄明白的原因是平时学习时之看例子,而例子一般都比较简单,没有对象之间的调用,一般就是一个对象调用自己的方法. 首先看下怎么 ...
- java向上转型和向下转型
转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展. 向上转型:子类引用的对象 ...
- java向上转型的问题
import java.util.Arrays;import java.util.HashSet;import java.util.Set;class A{ private String s1 = & ...
- Java向上转型与向下转型
一.向上转型 例如:Parent p=new Son(); 这样引用p只能调用子类中重载父类的方法:但属性是父类的:如果想调用子类属性的话,可以用getter()方法. 二.向下转型 子类对象的父类引 ...
随机推荐
- 在CentOS安装BIND,把所有DNS请求日志转发到syslog服务器去
在CentOS安装BIND,把所有DNS请求日志转发到syslog服务器去 在vim /etc/named.conf里配置的内容 logging { channel default_debug { f ...
- centos7 安装 mysqlclient 报错
报错如下: 解决方法: 先安装依赖: yum install mysql-devel 再安装: pip3 install mysqlclient
- [Python急救站]含义GUI的学生管理系统
这个管理系统是含有GUI界面的学生管理系统,比较方便. import tkinter as tk class Student: def __init__(self, name, student_id, ...
- 案例解析丨金蝶K/3 Wise接入华为云RDS数据库SQL Server
1. 简介 企业或用户将数据中心部署在线下,采用独立软件提供商(Independent Software Vendor)软件进行管理.线下数据运维成本较高,故障容灾单一化,是目前遇到的瓶颈.采用云上数 ...
- 带你认识Flink容错机制的两大方面:作业执行和守护进程
摘要:Flink 容错机制主要有作业执行的容错以及守护进程的容错两方面,前者包括 Flink runtime 的 ExecutionGraph 和Execution的容错,后者则包括 JobManag ...
- PPT 编辑顶点
编辑顶点的N种玩法 针对特定的形状进行编辑 选中形状 -> 右键 -> 编辑顶点 如果[编辑顶点]是灰色的,需要上网下一个 office clean touris,清理一下 合并形状:多个 ...
- SecureCRT 取消右击粘贴功能
SecureCRT 默认是选择复制.右击粘贴 但右击粘贴这个功能实在是太方便了,有时候会造成不必要的麻烦.所以一般情况下我是取消这个应用的 设置如下图所示,把勾取消就OK了
- MySQL 创建存储过程注意项
MySQL server version for the right syntax to use near 'IF' MySQL server version for the right synta ...
- 柔性上肢康复机器人研究中的VR技术
上肢康复机器人用于对脑卒中患者进行上肢康复治疗,能够维持和扩大患者关节活动度.增强肌肉力和协调性,以防止肌肉萎缩.关节痉挛等各类症状的出现,最终重建肢体功能,以便回归正常生活.现有的上肢康复机器人训练 ...
- Rust Installation with relative Configuration
References Rust Course The Hitchhiker's Guide to Rust mirrors.tuna.tsinghua.edu.cn Rust Crates 拉取慢的解 ...