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.抽象类中的方法有 ... 
随机推荐
- HihoCoder1407 后缀数组二·重复旋律2
			重复旋律2 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为长度为 N 的数构成的数列.小Hi在练习过很多 ... 
- BZOJ3075,LG3082 [USACO13MAR]项链Necklace
			题意 Bessie the cow has arranged a string of N rocks, each containing a single letter of the alphabet, ... 
- HDU1423:Greatest Common Increasing Subsequence
			浅谈\(DP\):https://www.cnblogs.com/AKMer/p/10437525.html 题目传送门:http://acm.hdu.edu.cn/showproblem.php?p ... 
- 第一章计算机网络和因特网-day02
			1.互联网中的时延:处理时延.排队时延.传输时延.传播时延. 处理时延:检查分组首部和决定该分组导向何处的时间. 排队时延:分组在链路上等待传输的时延. 传输时延:分组经过路由器与交换机的过程的时延. ... 
- Ubuntu下部署GitLab-——基于14.04系统
			搭建GitLab的目的: 方便公司开发管理代码 GitLab实现的功能: 1.关闭了gitlab的注册功能 2.修改了默认端口 3.汉化 0.前期准备 # 环境 Ubuntu 14.04 root@i ... 
- GUI练习中
			总结:JFrame和Frame是有很大差别的. 不要混淆.否则方法是不能成功调用的 特别是背景色:JFrame.对象f在main里无法调用背景色前景色都不想显示 一下是书上的一段代码,编译错误,但是可 ... 
- 设置windows10  背景颜色
			[Win + R ] regedit 打开注册表 HKEY_CURRENT_USER\Control Panel\Colors 1.[InfoWindow] 默认为(白色):255 255 255, ... 
- .net core 环境安装
			NET Core开发环境搭建 使用VS2015开发.NET Core项目,环境的搭建可以参考官网,大致安装步骤如下: 1.首先你得装个vs2015 并且保证已经升级至 update3及以上, 2.vs ... 
- appium-unittest框架中的断言
			1.首先unittest本身是一个python的测试框架,他有他自己的使用规则: 2.如果用其中的方法,需要引入,方法: import unittest class Login(unittest.Te ... 
- Linux 命令及获取帮助 目录文件浏览,管理和维护
			开启Linux操作系统,要求以root用户登录GNOME图形界面,语言支持选择为汉语 使用快捷键切换到虚拟终端2,使用普通用户身份登录,查看系统提示符 $ 使用命令退出虚拟终端2上登录的用户 exit ... 
