一.实验目的

(1)掌握类的继承

(2)变量的继承和覆盖,方法的继承,重载和覆盖的实现;

二.实验的内容

(1)根据下面的要求实现圆类Circle。

1.圆类Circle的成员变量:radius表示圆的半径。

2.圆类Circle的方法成员:

Circle():构造方法,将半径置0

Circle(double r):构造方法,创建Circle对象时将半径初始化为r

double getRadius():获得圆的半径值

double getPerimeter():获得圆的周长

void disp():将圆的半径和圆的周长,圆的面积输出到屏幕

package java3;
import java.util.*; class Circle{
private double radius; public double getRadius() {
return radius;
} public void setRadius(double radius) {
this.radius = radius;
}
public Circle() {
setRadius(0);
}
public Circle(double r) {
setRadius(r);
}
public double getPerimeter() {
return 2*Math.PI*getRadius();
}
public void disp() {
System.out.println("圆的半径为:"+getRadius());
System.out.println("圆的周长为:"+getPerimeter());
System.out.println("圆的面积为:"+Math.pow(getRadius(),2)*Math.PI);
}
} public class test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入半径:");
double radius=sc.nextDouble();
Circle pr=new Circle();
pr.setRadius(radius);
pr.disp();
} }

(2)继承第一题中的圆Circle类,派生圆柱体类Cylinder。要求如下:

1.圆柱体类Cylinder的成员变量:height表示圆柱体的高。

2.圆柱体类Cylinder的成员方法:

Cylinder(double r,double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h。

double getHeight():获得圆柱体的高

double getVol():获得圆柱体的体积

void dispVol():将圆柱体的体积输出到屏幕

3.按照第二题的Cylinder类,接上键盘的输入值作为圆的半径和圆柱体的高,计算圆柱体的体积

package java3;
import java.util.*; class Cylinder extends Circle{
private double height; public double getHeight() {
return height;
} public void setHeight(double height) {
this.height = height;
}
public Cylinder(double r,double h) {
setRadius(r);
setHeight(h);
}
public double getVol() {
return Math.pow(getRadius(),2)*Math.PI*getHeight();
}
public void dispVol() {
System.out.println("圆柱体的体积为:"+getVol());
}
} public class yuan {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入圆的半径:");
double radius=sc.nextDouble();
System.out.println("请输入圆的高:");
double height=sc.nextDouble();
Cylinder pr=new Cylinder(radius,height);
pr.dispVol();
} }

本周学习总结:

1、接口和抽象类的使用限制

①允许一个抽象类实现多个接口

②一个接口是不允许继承抽象类的

③允许一个接口继承多个接口

④一个接口不能继承一个抽象类,但是可以通过extends关键字同时继承多个接口,实现接口的多继承。

2、instanceof关键字

①instanceof关键字的作用:判断一个对象是否属于指定的类别。

②instanceof关键字的使用前提:判断的对象与指定的类别必须要存在继承或者实现的关系。

③instanceof关键字的使用格式:对象 instanceof 类别

④instanceof关键字的作用: 一般我们做强制类型转换之前都会使用该关键字先判断一次,然后再进行转换的。

第六周课程总结&实验报告的更多相关文章

  1. 第六周课程总结&实验报告(四)

    实验报告(四) 一.实验目的 1.掌握类的继承 2.变量的继承和覆盖,方法的继承,重载和覆盖的实现 二.实验的内容 1.根据下面的要求实现圆类Circle. 圆类Circle的成员变量:radius表 ...

  2. 第八周课程总结 & 实验报告(六)

    第八周课程总结 一.包装类 介绍 装箱与拆箱 应用 二.异常 基本概念 基本格式 异常类的继承结构 throws关键字 throw关键字 Exception类和RuntimeException类 自定 ...

  3. 第八周课程总结&实验报告(六)

    第八周课程总结 启动多线程售票(上课老师说要加入作业的部分) public class TestDemo { public static void main(StringD args) throws ...

  4. 第三周课程总结&实验报告

    课程总结 在这周对Java进行了更深层次的学习,Java的学习也变得越来越困难而有趣,加入了一些新的构造新的方法,还学习了一些简化代码的方式. 面向对象的基本概念 对于面向对象的程序设计有三个主要特征 ...

  5. 第九周课程总结 & 实验报告(七)

    第九周课程总结 一.多线程 1.线程的状态 2.线程操作的相关方法 二.Java IO 1.操作文件的类---File ()基本介绍 ()使用File类操作文件 .RandomAccessFile类 ...

  6. 第七周课程总结 & 实验报告(五)

    第七周课程总结 一.抽象类与接口的应用 1.实例化 2.实际应用 ---模板设计(抽象类) ---制定标准(接口) 3.设计模式 ---工厂设计 ---代理设计 ---适配器设计 二.抽象类与接口之间 ...

  7. 第三周课程总结&实验报告(一)

    实验报告(一) 1.打印输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个"水仙花数" ...

  8. Java第三周课程总结&实验报告一

    第三周课程总结 1.关于面向对象的一些具体内容,明白了类与对象以及Java的封装性和构造方法以及对对象匿名的相关知识. 2.this关键字,它是表示类的成员属性(变量),使用this构造方法时必须放在 ...

  9. 第五周课程总结&实验报告(四)

    第五周课程总结 本周主要学习了 1.抽象类 抽象类的定义格式 abstract class抽象类名称{ 属性; 访问权限返回值类型方法名称(参数){ //普通方法 [return返回值]; } 访问权 ...

随机推荐

  1. 常用的webpack 配置

    const path = require('path'); let HtmlWebpackPlugin = require('html-webpack-plugin'); let VueLoaderP ...

  2. pyqt5-复合控件中的子控件

    天子骄龙

  3. ES和RDBMS区别

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/12090637.html ES7.0之前,一个Index可以设置多个Type ES7.0开始,Type已 ...

  4. C#.Net集成Bartender条码打印,VS调试运行可以打印,发布到IIS运行打印报错

    C#.Net集成Bartender条码打印,VS调试运行可以打印,发布到IIS运行打印报错 问题原因: 问题出现在iis账户权限. 解决方法: iis默认是用network service这个账户去执 ...

  5. Java面试之框架篇(9)

    spring现在无疑是Java中最火的框架,使用范围广,几乎每个公司面试都会涉及spring和数据库,你可以对Struts不熟悉,但一定不能表现出对spring不了解.第九篇赢在面试全篇介绍sprin ...

  6. css---一个大div中套左右两个div,如何让最高的把最低的撑开?且把父级撑开呢?

    到最后实现了效果,但是在理论上感觉还是很牵强,如果哪位大神有方法,请评论指出哦 Html: css:

  7. POI操作Excel(批量导出数据/下载excel)

    目录 1.第一个demo:创建工作簿,创建sheet页,创建单元格    2.创建一个时间格式的单元格    3.遍历工作簿的行和列并获取单元格内容    4.文本提取    5.单元格对齐方式    ...

  8. Tensorflow在win10下的安装(CPU版本)

    环境:win10,64位 1.卸载python3.7,安装python3.6 由于之前已经安装了python,到tensorflow网站查看tensorflow的支持环境,https://tensor ...

  9. AtCoder AGC001F Wide Swap (线段树、拓扑排序)

    题目链接: https://atcoder.jp/contests/agc001/tasks/agc001_f 题解: 先变成排列的逆,要求\(1\)的位置最小,其次\(2\)的位置最小,依次排下去( ...

  10. mybatis批量插入并返回主键(序列)-oracle

    需求:批量插入数据,并返回每条数据的主键(序列),因为这里是采用序列生成唯一的主键的, 其实oracle批量 插入操作有几种,网上百度都是有相关资源的.但是笔者现在的需求是,不仅批量插入数据后,并返回 ...