java 抽象方法

int 是基本数据类型
Integer是其包装类,注意是一个类。
为什么要提供包装类呢???
一是为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化。
比如,现在int要转为String
int a=0;
String result=Integer.toString(a);
在java中包装类,比较多的用途是用在于各种数据类型的转化中。
我写几个demo

//通过包装类来实现转化的
int num=Integer.valueOf("12");
int num2=Integer.parseInt("12");

double num3=Double.valueOf("12.2");
double num4=Double.parseDouble("12.2");
//其他的类似。通过基本数据类型的包装来的valueOf和parseXX来实现String转为XX

String a=String.valueOf("1234");//这里括号中几乎可以是任何类型
String b=String.valueOf(true);
String c=new Integer(12).toString();//通过包装类的toString()也可以
String d=new Double(2.3).toString();

 

package integer;
abstract class Area{//抽象方法abstract public Double getArea();
}class Circle  extends Area{// 求圆面积private Integer r;private Double num = 3.14;public Circle(Integer r) {// 创建构造器super();this.r = r;}public Double getArea() {return r * r * 3.14;}
}class Rectangle extends Area{//求矩形面积private Integer height;private Integer width;public Rectangle(Integer height,Integer width) {// TODO 自动生成的构造函数存根this.height=height;this.width=width;}@Overridepublic Double getArea() {// TODO 自动生成的方法存根return height.doubleValue()*width.doubleValue();}
}class Triangle extends Area{//求三角形面积private Integer a;private Integer b;private Integer c;Triangle(Integer a,Integer b,Integer c){this.a=a;this.b=b;this.c=c;}@Overridepublic Double getArea() { // TODO 自动生成的方法存根Double p=(a+b+this.getC())/2.0;return Math.sqrt( p*(p-a)*(p-b)*(p-this.getC()));//使用海伦公式:S= 根号下p(p-a)(p-b)(p-c) }public Integer getC() {if(a+b<c || a+c<b || b+c<a){System.out.println("三角形的第三边大于两边之和,不能计算面积!");}return c;}}//测试类
public class GrapDemo {public static void main(String[] args) {Double area=new Circle(2).getArea();//两行代码转成一行代码,同等:circle n=new circle();n.getArea();System.out.println("圆的面积为:"+area+"平方厘米");Double rectangle=new Rectangle(10,20).getArea();System.out.println("矩形的面积为:"+rectangle+"平方厘米");Double rriangle=new Triangle(23,12,23).getArea();System.out.println("三角形的面积为:"+rriangle+"平方厘米");}
}

 

 

转载于:https://www.cnblogs.com/jiangxifanzhouyudu/p/6633075.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1前端学习(2345):关于前端对于xml格式文件的渲染

一、xml和json对比 xml:扩展标记语言&#xff0c;     优点&#xff1a;格式统一&#xff0c;格式标准&#xff0c;容易与其他系统远程交互&#xff0c;数据共享比较方便     缺点&#xff1a;xml文件庞大&#xff0c;格式复杂&#xff0c;解析会花费大量时间和资源&am…

计算机网络管理员demo,计算机网络试题demo

计算机网络试题demo 1 北京交通大学 2006-2007 学年 第二学期考试试题 课程名称&#xff1a;计算机通信与网络技术 班级&#xff1a;电气 05 出题人&#xff1a;网络课程组 题 号 一 二 三 四 五 总分 得 分 签 字 一&#xff0e; 选择题(每题1 分&#xff0c;共20 分) 1&#…

什么是流程控制

浅析PHP流程控制 今天Qi号给小白们分享一下PHP基础(相互请教&#xff5e;&#xff5e;)&#xff1a; 下面是Qi号搜集的资料及自己的总结希望有所帮助&#xff1a; 什么是流程控制&#xff1a;在声明式的编程语言中&#xff0c;流程控制指令是指会改变程序运行顺序的指令&#x…

Win10系列:JavaScript页面导航

页面导航是在开发应用的过程中使用频率较高的技术&#xff0c;其中比较常用的导航方式有多页导航和页内导航&#xff0c;采用多页导航方式的应用程序包含一系列的页面&#xff0c;在一个页面中加入另一个页面的链接地址后&#xff0c;单击链接将跳转到指定页面&#xff0c;从而…

前端学习(2347):创建新页面和配置

pages.json {"pages": [ //pages数组中第一项表示应用启动页&#xff0c;参考&#xff1a;https://uniapp.dcloud.io/collocation/pages{"path" : "pages/message/message","style" : {"navigationBarTitleText": "信…

计算机与现代教育技术论文开题报告,计算机科学技术大学硕士与本科毕业论文开题报告...

这是一篇计算机科学技术方面有关毕业论文题目范文,与二维动画设计与制作相关毕业论文。是写论文专业与计算机科学技术及计算机软件及发表一篇方面相关的免费优秀学术论文范文资料&#xff0c;可作为计算机科学技术方面的大学硕士与本科毕业论文开题报告范文和职称论文论文写作参…

3.3、自定义错误页面

如果你在浏览器的地址栏中输入了不可用的路由&#xff0c;那么会显示一个状态码为 404 的错误页面。现在这个错误页面太简陋、平庸&#xff0c;而且样式和使用了 Bootstrap 的页面不一致。 像常规路由一样&#xff0c;Flask 允许程序使用基于模板的自定义错误页面。最常见的错误…

前端学习(2348):tabber

{"pages": [ //pages数组中第一项表示应用启动页&#xff0c;参考&#xff1a;https://uniapp.dcloud.io/collocation/pages{"path" : "pages/message/message","style" : {"navigationBarTitleText": "信息页",&…

前端学习(2349):tabber的其他属性

pages.json {"pages": [ //pages数组中第一项表示应用启动页&#xff0c;参考&#xff1a;https://uniapp.dcloud.io/collocation/pages{"path" : "pages/message/message","style" : {"navigationBarTitleText": "信…

thinkphp无法登陆,session跨页后值为空

我已经出现过两次这种问题了&#xff0c;出现了两次就说明第一次没有解决彻底&#xff0c;所以表示thinkphp这个跨页后session为空而无法登陆的问题牵扯很多方面的问题了。经过这两次的研究&#xff0c;我觉得基本上能真正解决它了。 第一次出现的时候&#xff0c;我以为是目录…

前端学习(2350):condition启动模式配置

pages.json {"pages": [ //pages数组中第一项表示应用启动页&#xff0c;参考&#xff1a;https://uniapp.dcloud.io/collocation/pages{"path" : "pages/message/message","style" : {"navigationBarTitleText": "信…

前端学习(2351):text组件的使用

detail.vue <template><view><view class""><text>唱歌跳舞</text></view><view seletable><text>唱歌跳舞</text></view><view seletable space"ensp"><text>唱歌 跳舞<…

前端学习(2352):view组件的使用

detail.vue <template><view><!-- <view class""><text>唱歌跳舞</text></view><view seletable><text>唱歌跳舞</text></view><view seletable space"ensp"><text>唱歌 …

计算机里创建本地磁盘分区,大神教你如何将本地硬盘进行分区!

如何将本地硬盘进行分区呢&#xff1f;不少小伙伴的电脑上只有一个磁盘C&#xff0c;这样子的话很容易造成磁盘空间不足&#xff0c;可要是进行分区一下的话&#xff0c;那么就不会有这个困扰咯&#xff0c;所以今天小编就来教教大家在不借助任何工具的情况下把本地硬盘进行分区…

前端学习(2353):button按钮组件的使用

detail.vue <template><view><!-- <view class""><text>唱歌跳舞</text></view><view seletable><text>唱歌跳舞</text></view><view seletable space"ensp"><text>唱歌 …

三维触控测试软件,10 条小技巧,告诉你 iPhone XS Max 的三维触控功能怎么用

苹果在 2018 年发布了 iPhone XS 系列&#xff0c;并且这两款设备都支持 3D Touch(三维触控)&#xff0c;如果您还不太了解这项功能的实用之处&#xff0c;不妨一起来看看&#xff1a;如何开启&#xff1f;前往 iPhone 【设置】-【通用】-【辅助功能】-【三维触控】&#xff0c…