码迷,mamicode.com
首页 > 编程语言 > 详细

第六周&java实验报告四

时间:2019-10-05 18:24:47      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:java   覆写   对象   image   util   out   不能   问题   print   

Java实验报告四

 

实验目的:

(1)掌握类的继承方法;
(2)变量的继承和覆盖,方法的继示、重载和覆盖实现;

实验内容

(1)根据下面的要求实现圆类Circle.
①圆类Cirle的成员变量: radius 表示圆的半径。
②圆类Cirdle的方法成员:
Circle () :构造方法,将半径置0
Circle (doubler) :构造方法:
创建Circle对象时将半径初始化为r
double getRadius () :获得圆的半径值
double getPerimeter () :获得圆的周长
void disp O :将圆的半径、圆的周长和圆的面积输出到屏幕
(2)维承第(1)题中的圆Circle类,派生圆柱体类Cylinder。要求如下:
①圆柱体类Cylinder的成员变量: height 表示圆柱体的高。
②圆柱体类Cylinder的成员方法:Cylinder (doubler, double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱高初始化为h

 

实验源码;

(1)

 1 import java.util.*;
 2 class Circle{
 3     private double radius;
 4     public  Circle(double r) {
 5         setRadius(r);
 6     }
 7     public double getPerimeter() {
 8         return (2*Math.PI*getRadius());
 9     }
10     public void disp() {
11         System.out.println("圆的半径:"+radius+" 圆的周长:"+getPerimeter()+" 圆的面积:"+2*(Math.PI*Math.pow(radius, 2)));
12     }
13     public double getRadius() {
14         return radius;
15     }
16     public void setRadius(double radius) {
17         this.radius = radius;
18     }
19     
20 }
21 public class Text1{
22     public static void main(String[] args){
23         Circle cr=new Circle(3);
24         cr.disp();
25     }
26 }

实验结果:

技术图片

 

 

实验源码:

(2),(3)

 1 import java.util.*;
 2 class Circle{
 3     private double radius;
 4     public Circle() {
 5         
 6     }
 7     public  Circle(double r) {
 8         setRadius(r);
 9     }
10     public double getPerimeter() {
11         return (2*Math.PI*getRadius());
12     }
13     public void disp() {
14         System.out.println("圆的半径:"+radius+" 圆的周长:"+getPerimeter()+" 圆的面积:"+2*(Math.PI*Math.pow(radius, 2)));
15     }
16     public double getRadius() {
17         return radius;
18     }
19     public void setRadius(double radius) {
20         this.radius = radius;
21     }
22     
23 }
24 class Cylinder extends Circle{
25     private double height;
26     
27     public Cylinder(double r,double h){
28         setRadius(r);
29         setHeight(h);
30     }
31     public double getVol() {
32         return 2*(Math.PI*Math.pow(getRadius(), 2))*height;
33     }
34     public void dispVol() {
35         System.out.println("圆柱体的体积:"+getVol());
36     }
37     public double getHeight() {
38         return height;
39     }
40     public void setHeight(double height) {
41         this.height = height;
42     }
43     
44 }
45 public class Text1{
46     public static void main(String[] args){
47         Cylinder cr=new Cylinder(3,2);
48         cr.disp();
49         cr.dispVol();
50     }
51 }

 

 实验结果:

技术图片

 

 

这次实验难度不高,都是上课讲过的知识点,但我在实现Cylinder类时出现了一个问题:我在声明Cylinder的构造方法时系统报错了,如下:

 

技术图片

 

 

我在向括号中添加两个参数后报错依旧没有停止,如下:

 技术图片

 

 

最后发现是在Cricle中没有声明无参的构造方法(因为是问题解决后截的图,所以用注释的方式将其消除了)。

 

第六周学习总结

 

主要学习了接口的相关知识:

接口是一种特殊的类,里面由全局常量和公共的抽象方法组成。

 

(1)接口的定义格式:

1 Interface 接口名称{
2 
3        全局变量:
4 
5        抽象方法;
6 
7 }

 

 

(2)实现接口

接口的使用必须通过子类(或称为实现类,以下称为实现类),子类通过implements关键字实现接口。

 

1 class 实现类implements接口A,接口B,…… {
2 
3 }

 

一个实现类可以同时实现多个接口,同时实现类也必须覆写完两个两个接口中的所有抽象方法。接口可以继承多个接口,但接口不能被多个实现类继承,接口也不能继承抽象类。

 

第六周&java实验报告四

标签:java   覆写   对象   image   util   out   不能   问题   print   

原文地址:https://www.cnblogs.com/noacgnnolife/p/11625068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!