java抽象方法实例_Java 抽象类和抽象方法实例
Linux参考文章
定义 Shape 类表示一般二维图形。Shape 具有抽象方法 area 和 perimeter,分别计算形状的面积和周长。试定义一些二维形状类(如矩形、三角形、圆形等),这些均为 Shape 类的子类并计算出这些形状的面积和周长,打印输出相关信息。
形状类:
public abstract class Shape {
public abstract double area();
public abstract double perimeter();
}
矩形类:
public class Rectangle extends Shape {
private double length;
private double width;
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
@Override
public double area() {
return getLength() * getWidth();
}
@Override
public double perimeter() {
return 2 * (getWidth() + getWidth());
}
}
三角形类:
public class Triangle extends Shape {
private double a, b, c;
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c = c;
}
@Override
public double area() {
double p = (getA() + getB() + getC()) / 2;
return Math.sqrt(p * (p - getA()) * (p - getB()) * (p - getC()));
}
@Override
public double perimeter() {
return getA() + getB() + getC();
}
}
圆形类:
public class Circle extends Shape {
private double diameter;
public double getDiameter() {
return diameter;
}
public void setDiameter(double diameter) {
this.diameter = diameter;
}
@Override
public double area() {
return Math.PI * Math.pow(getDiameter() / 2, 2);
}
@Override
public double perimeter() {
return Math.PI * getDiameter();
}
}
测试代码:
public class Test {
public static void main(String [] args){
Rectangle rec = new Rectangle();
rec.setLength(10);
rec.setWidth(5);
double rec_area = rec.area();
double rec_perimeter = rec.perimeter();
System.out.println("矩形的面积:"+rec_area+",周长"+rec_perimeter);
Triangle tri = new Triangle();
tri.setA(3);
tri.setB(4);
tri.setC(5);
double tri_area = tri.area();
double tri_perimeter = tri.perimeter();
System.out.println("三角形的面积:"+tri_area+",周长"+tri_perimeter);
Circle cir = new Circle();
cir.setDiameter(10);
double cir_area = cir.area();
double cir_perimeter = cir.perimeter();
System.out.println("圆形的面积:"+cir_area+",周长"+cir_perimeter);
}
}
java抽象方法实例_Java 抽象类和抽象方法实例相关推荐
- java抽象方法声明_java抽象类和抽象方法
一.什么是抽象类和抽象方法 没有具体功能的实现,通过子类继承后重写方法来实现一定约束的类称之为抽象类,抽象类必须被abstract修饰.抽象方法就是只有方法声明,没有方法体的方法.抽象类的使用一般通过 ...
- java类和抽象方法课件_java抽象类和抽象方法(转载)
抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类.抽象类有点类似"模板"的作用,目的是根据其格式来创建和修改新的类.对象不能由 抽象类直接创建,只可以通过抽象类派 ...
- java 定义抽象变量_Java抽象类和抽象方法定义与用法实例详解
本文实例讲述了Java抽象类和抽象方法定义与用法.分享给大家供大家参考,具体如下: 一.Java抽象类 1.抽象类的说明 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都 ...
- java sftp 实例_JAVA实现SFTP的实例
用Java EE 5实现的网上书店实例 李力 (ada.li@sun.com) 2007/10/23 本教程介绍了如何使用NetBeans IDE 以及GlassFish 构建一个典型的Java ...
- java 模拟停车_Java多线程编程小实例模拟停车场系统
下面分享的是一个Java多线程模拟停车场系统的小实例(Java的应用还是很广泛的,哈哈),具体代码如下: Park类 public class Park { boolean []park=new bo ...
- java 类变量 赋值_Java 中类变量,实例变量,局部变量的赋值
在 Java 中,类变量,实例变量可以不经过主动赋值就直接使用,而局部变量在不主动赋值的情况下,是无法使用的.在下面分析一下这个原因: 1. 类变量 类变量的赋值有两次,两次都在类加载的过程中,类加载 ...
- java抽象类的实现_JAVA抽象类和抽象方法(abstract)
一.抽象(abstract)的使用 当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]. 我们都知道,父类是将子类所共同拥有的属性和 ...
- java 如何判断抽象类_JAVA抽象类和抽象方法(abstract)
一.抽象(abstract)的使用 当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]. 我们都知道,父类是将子类所共同拥有的属性和 ...
- java的继承实例_Java继承和多态实例
我们知道面向对象的三大特性是封装.继承和多态.然而我们有时候总是搞不清楚这些概念.下面对这些概念进行整理, 为以后面向抽象的编程打下坚实的基础. 封装的概念还是很容易理解的.如果你会定义类,那么相信你 ...
最新文章
- Hadoop_MapReduce的基本应用
- Java 高频面试题:聊一聊 JUC 下的 LinkedBlockingQueue
- .Net中删除数据前进行外键冲突检测
- 行业场景智能应用,解锁边缘计算时代新机遇
- 分配的访问权限的展台应用:最佳做法
- python 多个列表_Python同时迭代多个列表
- ASP.NET Core快速入门(第6章:ASP.NET Core MVC)--学习笔记
- 自定义Cassandra数据类型
- C语言中局部变量和全局变量 变量的存储类别
- 图谱问答-理解query
- Centos KVM 基本安装过程
- java的循环控制结构有哪些_java中的控制结构(if,循环)详解
- Win11推送如何操作 Windows11推送的详细步骤方法
- 使用iBatis和ObjectDataSource轻松实现分页
- linux 卸载 java_Linux安装卸载JDK完整步骤
- 卷积定理及常见傅里叶变换表
- 日语学习|如何快速有效地记忆日语五十音图?
- 大数据平台任务调度与监控系统
- web前段 ps基础
- Javascript MS题蓄力:
热门文章
- centos将某一目录权限给用户_centos7如何新建普通权限用户,仅能访问指定目录,使用gcc?...
- android动画之布局动画,Android动画--布局动画 LayoutAnimation
- linux进程作为服务,将一个监视进程做成linux系统服务
- php代码执行漏洞,预警!!!PHP 远程代码执行漏洞
- chrome ninja 文件_ninja和gn
- java方法参数Bundle,Java ResourceBundle keySet()方法及示例
- Sphinx——自动生成Python文档
- 2012 php mysql_Apache+Mysql+PHP(win sercer2012)
- count(*)效率提高_2020年最新整理财务统计函数,学会让你财务统计效率提升95%以上...
- 下列有关计算机图形的叙述中错误的是,计算机图形学(9-16)-中国大学mooc-题库零氪...