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;
}
@Override
public 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;
} @Override
public 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+"平方厘米");
}
}
java 抽象方法的更多相关文章
- JAVA抽象方法,接口
抽象方法(例如:画方法) 抽象方法必须用abstract void修饰 抽象方法没有方法体(方法体就是方法的实现) 抽象方法和空方法体的方法不是同意概念. a) public abstract vo ...
- java 抽象方法 能用 静态 static 修饰,或者 native 修饰 么
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha static与abstract不能同时使用 用static声明方法表明这个方法在不生成类 ...
- xamarin android如何将Java.Lang.Object类型转成C#类型
问题起源 其实这个标题也可以换一个更准确一点,因为我遇到的问题是: xamarin android中的Class继承了Java.Lang.Object ,将json序列化成c#类型时发现无法赋值,序列 ...
- IDEA中各种图标
前言 在用这个开发工具之前对大量的图标先有所了解,会提高不少效率 首先讲下基本的图标 Java类 Java抽象类 Groovy类 注解类 枚举类 异常类 最终的类 接口 包含有main方法的可 ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 纳尼,java可以在接口中实现非抽象方法了?
纳尼,接口中可以定义实例方法了?! 纳尼,接口中还可以定义静态方法了?! 没错,在Java8中新增了很多新的特性,其中就包括可以在接口中添加方法和变量. 首先我们来看下代码 public interf ...
- 初识JAVA(【面向对象】:pub/fri/pro/pri、封装/继承/多态、接口/抽象类、静态方法和抽象方法;泛型、垃圾回收机制、反射和RTTI)
JAVA特点: 语法简单,学习容易 功能强大,适合各种应用开发:J2SE/J2ME/J2EE 面向对象,易扩展,易维护 容错机制好,在内存不够时仍能不崩溃.不死机 强大的网络应用功能 跨平台:JVM, ...
- 【Java基础】抽象类和抽象方法的总结
什么是抽象类 抽象类是相同概念实体的一种抽象,Java中用关键字abstract来定义抽象类和抽象方法. 什么是抽象方法 只有方法的声明,没有方法的具体实现的方法. 抽象类和抽象方法的特点 抽象类和抽 ...
- java基础知识6-- 抽象类,抽象方法,接口,构造方法,类方法等易混淆的知识点
一.抽象类和抽象方法 (B 继承 抽象类A) 抽象类:有抽象方法的一定是抽象类 抽象方法:方法名前有abstract修饰,且方法没有方法体,即{},不需要实现任何功能,只是声明 1.抽象类中的方法有 ...
随机推荐
- HDU - 6191 Query on A Tree (可持久化字典树/字典树合并)
题目链接 题意:有一棵树,树根为1,树上的每个结点都有一个数字x.给出Q组询问,每组询问有两个值u,x,代表询问以结点u为根的子树中的某一个数与x的最大异或值. 解法一:dfs序+可持久化字典树.看到 ...
- dwd面试记录与最近面试的一些感想。
因为自己简历有些问题,额,面试官以为我有三年的工作经验. (吐槽一些智联的简历系统,)16年工作,一到18年自动变三年.这也忒坑人了. 工作年限一定要真实,避免出现问题,这会让面试官觉得你很不真诚. ...
- Redis Sentinel(哨兵)主从高可用方案
环境搭建 三台服务器: 192.168.126.100(master) 192.168.126.110(slaver) 192.168.126.120(slaver) 拷贝192.168.126.10 ...
- 使用Azure Site Recovery把VM批量搬迁到Azure
Azure Site Recovery可以提供如下服务: Site Recovery 服务:Site Recovery 可以在站点出现故障时,让应用在其他站点继续可用,从而确保业务连续性. Site ...
- java常用的空对象 null
- hihoCoder#1079(线段树+坐标离散化)
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho在回国之后,重新过起了朝7晚5的学生生活,当然了,他们还是在一直学习着各种算法~ 这天小Hi和小Ho所在的学 ...
- SQL简单嵌套查询与非嵌套查询的比较(MSSQL2005)
某天的工作是修复某个项目的bug,接着就发现,其sql极其混乱,有非常多的left join和in操作,还有嵌套查询(只有一个表的嵌套查询).不知道看到过哪里的资料说,嵌套查询速度慢,于是我把全部嵌套 ...
- Swing编程把图片放入frame里。先不作为背景图片
总结: 总之遵循一条,所有的组件都不是直接放入frame里的.还要label的重要性,panel.面板类 虽然我还是不会做,但总算出了个图片出来~~~~~~~~~~~~~ package com.kk ...
- sql语句优化方案
1. 为查询缓存优化你的查询 NOW() 和 RAND() 或是其它的诸如此类的SQL函数都不会开启查询缓存,因为这些函数的返回是会不定的易变的. 所以,你所需要的就是用一个变量来代替MySQL的函数 ...
- 3.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:
转自:https://www.cnblogs.com/ssslinppp/p/4528892.html 概述 在文章:<[Spring学习笔记-MVC-3]SpringMVC返回Json数据-方 ...