IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 武汉理工大学Java语言程序设计课内实验一(通过继承和接口实现) -> 正文阅读

[Java知识库]武汉理工大学Java语言程序设计课内实验一(通过继承和接口实现)

一、前言

? ? ? ? 本文内容:武汉理工大学java程序语言设计第一次课内实验的内容,分别采用了继承和接口的知识实现。

? ? ? ? 开发工具:Intellij IDEA 2021.2.3?

二、实验要求

1.实验描述

? ? ? ? 编写应用程序计算梯形和圆形的面积(分别使用继承和接口知识编写)

2.基本要求

????????通过在程序中定义2个类来分别描述梯形和圆形的属性和求面积的方法,掌握类的定义方法;通过在程序中定义主类,创建梯形类和圆形类的对象计算它们的面积,掌握对象的定义和使用方法。

3.实验目的

????????通过编写Java应用程序,熟练掌握应用程序的典型结构,熟悉运算符、表达式和基本数据类型的使用;理解Java语言程序设计的基本概念和基本原理,如抽象、对象、类、实例、属性、方法以及封装性、继承性和多态性;掌握在Java语言集成开发环境Eclipse中,上述基本概念的具体实现方法。

三、具体实现

1.通过类的继承实现

1.1引入库

在这里,我一共引入两个库,java.util.Scanner用来获取键盘输入内容,java.text.DecimalFormat用来处理最后的结果,例如保存三位小数等等。

package 继承;

import java.text.DecimalFormat;
import java.util.Scanner;

1.2类的设计

//父类Shape中定义area()方法,计算面积
class Shape{
    public double area(){

        return 0;
    }
}
class Circular extends Shape{
    private final double PI = 3.14;
    private final double radius;
    
    public Circular(double radius){
        this.radius = radius;
    }
    //实现父类中area()方法
    public double area(){
        double circularArea;
        circularArea = PI * radius * radius;

        return circularArea;
    }
    //子类Circular的方法
    public double girth(){
        double circularGirth;
        circularGirth = 2 * PI * radius;

        return circularGirth;
    }
}

?

1.3 main方法

????????


        Scanner scan = new Scanner(System.in);
        //获得键盘上的输入
        double radius = scan.nextDouble();
        double high = scan.nextDouble();
        double upperBase = scan.nextDouble();
        double lowerBase = scan.nextDouble();

        Circular circular = new Circular(radius);
        Trapezoid trapezoid = new Trapezoid(high,upperBase,lowerBase);
        System.out.println("圆的面积为:" + new 
                      DecimalFormat("#.000").format(circular.area()));
        //定义一个DecimalFormat对象,调用format方法是结果保留三位小数
        System.out.println("梯形的面积为:" + trapezoid.area());

        System.out.println("==================================");
        Shape shape =new Circular(radius);
        //向上类型转换
        System.out.println("圆形的面积为" + new             
                      DecimalFormat("#.000").format(shape.area()));
        Circular circular1 = (Circular) shape;
        //向下类型转换
        System.out.println("圆形的周长为:" + new 
                      DecimalFormat("#.000").format(circular1.girth()));

        System.out.println("==================================");
        Shape shape1 = new Trapezoid(high,upperBase,lowerBase);
        System.out.println("梯形的面积:" + new 
                      DecimalFormat("#.000").format(shape1.area()));
        scan.close();
    

2.通过类实现接口实现

2.1 引入库

package 接口;

import java.util.Scanner;
import java.text.DecimalFormat;

2.2 类实现接口

/**
 * 面积Area接口
 */
interface Area{
    double PI = 3.14;

    void area();
}
/**
 * 周长Girth接口
 */
interface Girth{

    void girth();
}
/**
 * 接口的多继承,需实现接口的所有方法
 */
class Circular implements Area,Girth{
    private final double radius;

    public  Circular(double radius){
        this.radius = radius;
    }

    public void area(){
        double circularArea;
        circularArea = PI * radius * radius;

        System.out.println("圆的面积为:" + new DecimalFormat("#.000").format(circularArea));
    }

    public void girth(){
        double circularGirth;
        circularGirth = 2 * PI * radius;

        System.out.println("圆的周长为:"+ new DecimalFormat("#.000").format(circularGirth));
    }
}

2.3 main方法


        Scanner scan = new Scanner(System.in);
        double radius = scan.nextDouble();
        double high = scan.nextDouble();
        double upperBase = scan.nextDouble();
        double lowerBase = scan.nextDouble();

        Circular circular = new Circular(radius);//创建圆形对象
        circular.area();
        circular.girth();

        Trapezoid trapezoid = new Trapezoid(high, upperBase, lowerBase);//创建梯形对象
        trapezoid.area();

        scan.close();

四、总结

? ? ? ? 作者是第一次写博客,写的不好还请多多包涵。

? ? ? ? 有需要源码的宝子可以私信我哟。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:28:34  更:2021-11-30 15:30:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:43:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码