第六周课程总结&试验报告(四)
一.实验目的
(1)掌握类的继承方法
(2)变量的继承和覆盖,方法的继承,重载和覆盖实现
二.实验内容
三.实验过程
1. 实验源码
package test;
import java.util.Scanner;
class Circle{
private double radius;//定义半径
public double getRadius() {//取得Radius属性
return radius;
}
public void setRadius(double radius) {//设置Radius属性
this.radius = radius;
}
public Circle() {//声明第一个构造方法设置Radius为0
setRadius(0);
}
public Circle(double r) {//声明第二个构造方法设置Radius为传递的参数值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 实验四1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
Circle pr=new Circle();
pr.disp();
System.out.println("请输入半径:");
double r=sc.nextDouble();
pr.setRadius(r);
pr.disp();
}
}
实验结果
2.实验源码
package test;
import java.util.Scanner;
class Cylinder extends Circle {//Cylinder是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 实验四2 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入圆的半径:");
double r=sc.nextDouble();
System.out.println("请输入圆的高:");
double h=sc.nextDouble();
Cylinder pr=new Cylinder(r,h);//调用子类构造方法,传递参数r,h
pr.disp();
pr.dispVol();
}
}
实验结果
3.
在2.中已实现
结论
我感觉本次实验主要是考察继承的简单应用,实验内容1不难,主要是写一个类,实验内容2写一个子类,并对父类进行扩展。
在同一个包中,子类可以直接在另一个class文件中写,而不需要把父类再写一遍。在定义子类对象时,若子类中有构造方法,
则要直接调用构造方法,这个我发现后,还没搞懂,其余的还好。
课程总结
接口
接口可以理解为一种特殊的类
1.接口的定义
interface 接口名称{
全局常量;
抽象方法;
}
在接口中如果不写public,则也是public访问权限,接口中的方法永远是public。
2.接口实现
接口的使用要通过子类,子类通过implements关键字实现接口
class 子类 implements 接口A,接口B,····{//一个子类可以同时实现多个接口
}
对象的多态性
对象的多态性主要分两种类型:
(1)向上转型:子类对象->父类对象
(2)向下转型:父类对象->子类对象
对象转型
对象向上转型:父类 父类对象=子类实例 //向上转型,程序会自动完成
对象向下转型:子类 子类对象=(子类)父类实例
如果对象发生了向上转型关系,所调用的方法一定是被子类覆写过的方法,若一种方法只在子类中定义,
而没有在父类中定义,如果要想调用子类定义的其他方法,肯定要使用子类实例。
对象在进行向下转型之前,必须首先发生对象向上转型,否则会出现对象转换异常。
第六周课程总结&试验报告(四)的更多相关文章
- 第六周课程总结&java实验报告四
第六周课程总结: 一.instanceof关键字 1.作用:在Java中可以使用instanceof关键字判断一个对象到底是哪个类的实例. 2.格式:对象 instanceof 类 -> 返回b ...
- 第六周课程总结&实验报告(四)
实验报告(四) 一.实验目的 1.掌握类的继承 2.变量的继承和覆盖,方法的继承,重载和覆盖的实现 二.实验的内容 1.根据下面的要求实现圆类Circle. 圆类Circle的成员变量:radius表 ...
- 20145302张薇《Java程序设计》第十六周课程总结
20145302 <Java程序设计>第十六周课程总结 实验报告链接汇总 实验一 Java开发环境的熟悉 实验二 Java面向对象程序设计 实验三 敏捷开发与XP实践 实验四 Andoid ...
- 第五周课程总结&试验报告(三)
第五周课程总结&试验报告(三) 实验三 String类的应用 实验目的 掌握类String类的使用: 学会使用JDK帮助文档: 实验内容 ###1.已知字符串:"this is a ...
- 第六周学习总结&第四次实验报告
第六周学习总结&第四次实验报告 学习总结 这周我们简单的学习了一点点关于接口的内容,接口是Java中最重要的概念之一,接口可以理解为一个特殊的类, 里面由全局常量和公共的抽象方法组成,接口摆脱 ...
- 第六周&java实验报告四
实验报告: 一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:rad ...
- 第五周课程总结&试验报告三
第五周课程总结 一.第五周课程总结 1.this关键字 this可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用.当一个类的属性(成员变量)名与访问该 ...
- 第六周&Java实验报告四(类的继承)
一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆 ...
- 第六周总结&实验报告四
这周是放国庆节的假,所有没有进行深入的学习,只是写了个实验的题目,也发现了自己在基础上还是要加强学习. 实验四 类的继承 一. 实验目的 (1) 掌握类的继承方法: (2) 变量的继承和覆盖,方法的继 ...
随机推荐
- Acwing-119-袭击(分治)
链接: https://www.acwing.com/problem/content/121/ 题意: 在与联盟的战斗中屡战屡败后,帝国撤退到了最后一个据点. 依靠其强大的防御系统,帝国击退了联盟的六 ...
- 动软代码生成器生成model
model <#@ template language="c#" HostSpecific="True" #> <#@ output exte ...
- js 多个三目运算符优先级
读JS代码遇到一段看不懂运算优先级的代码,如下 var BrowserSys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ...
- sublime text 编辑器的操作
我一直在用的代码编辑器是sublime text,然后总结了一些相关的操作方法. 一 环境操作 1.放大显示比例:Ctrl+ 2.缩小显示比例:Ctrl- 3.分屏:Alt+ Shift +数字 ...
- 在Controller中使用AOP
转:http://usherlight.iteye.com/blog/1306111 在Controller中使用AOP的问题主要在于如何让Controller能够被检测到. Controller和其 ...
- luogu小金明qwq x
1.P1060 开心的金明 题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算, ...
- 洛谷 P1546 最短网络 Agri-Net x
题目背景 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 题目描述 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其 ...
- win10下MYSQL 8.0.16的下载、安装以及配置
win10系统MySQL 8.0的下载安装超详细教程 https://blog.csdn.net/qq_34444097/article/details/82315587 下载安装配置链接:https ...
- 【转】HDU-6035-Colorful Tree
转自http://blog.csdn.net/Bahuia/article/details/76141574 题意: 题目链接:http://acm.hdu.edu.cn/showproblem.ph ...
- Unity3D_(物理引擎)Rigidbody组件
Rigidbody组件刚体(Rigidbody)是Unity物理引擎中的重要组件,一个游戏对象添加了刚体组件以后就开始接受物理力学的影响了,比如重力.空气摩擦力.碰撞产生的推力 Learn 相同高 ...