博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第六周课程总结&试验报告(四)
阅读量:5292 次
发布时间:2019-06-14

本文共 3024 字,大约阅读时间需要 10 分钟。

Java实验报告

 

实验四类的继承

一、 实验目的

(1)       掌握类的继承方法;

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

二、 实验内容

 

 

三、实验过程(请自己调整格式)

代码:

 
1 package com.company; 2  3 public class Circle 4 { 5    double radius,perimeter,area; 6  7     Circle()                                     //构造Circle()对象 8     { 9         radius = 0;10     }11     Circle(double r)12     {13         radius = r;                              //将半径初始化为r14     }15     double getRadius()16     {17        return radius;                            //获得圆的半径18     }19     double getPerimeter()20     {21        return 2*Math.PI*radius;                   //获得圆的周长22     }23     double getArea()24     {25        return radius*radius*Math.PI;              //获得圆的面积26     }27 28    public void disp()                               //disp函数会直接将内容输出29    {30        perimeter = getPerimeter();31        area = getArea();32        System.out.print("圆的半径为:"+radius+"\n"+"周长:"+perimeter+"\n"+"面积为:"+area);33    }34    public  static void main(String[] args)35    {36        double radius = 1.0;37        Circle c =new Circle(radius);         //将全部radius变为Circle38        c.disp();39    }40 }

 

 

 运行结果:

 代码:

1 package com.company; 2  3 class Circle 4 { 5     double radius,perimeter,area; 6  7     Circle()                                      8     { 9         radius = 0;10     }11     Circle(double r)12     {13         radius = r;                              14     }15     double getRadius()16     {17         return radius;                           18     }19     double getPerimeter()20     {21         return 2*Math.PI*radius;                   22     }23     double getArea()24     {25         return radius*radius*Math.PI;             26     }27 28     public void disp()                               29     {30         perimeter = getPerimeter();31         area = getArea();32         System.out.print("圆的半径为:"+radius+"\n"+"周长:"+perimeter+"\n"+"面积为:"+area);33     }34     public void CC()                                //构造函数,输出我想要数值35     {36         double radius = 1.0;37         Circle c =new Circle(radius);         38         c.disp();39     }40 }
1 package com.company; 2  3 public class Cylinder extends Circle 4 { 5     private double height; 6     public Cylinder(double h,double r) 7     { 8         this.radius = r; 9         this.height = h;10     }11     public double getHeight()12     {13         return this.height;14     }15     public double getVol()16     {17         return radius*radius*Math.PI*height;18     }19     public void disp()20     {21         double Vol = getVol();22         System.out.println("圆柱体的体积为:"+Vol);23     }24     public static void main(String[] args)25     {26         Cylinder cy =new Cylinder(2.0,1.0);27         cy.disp();28         cy.CC();                                 //调用父类里的函数29     }30 }

运行结果:

 遇到的问题:

做完Circle类还是很容易,当做到Cylinder类,我类比Circle类的代码,但是在运行时,它的结果还是Circlel类的结果(父类和子类都在同一个文件夹里),但,把父类和子类的代码合并在一起,运行的结果就只有子类的答案。

 

 

 

 问题原因:

public statci void main (String[] args)是主函数入口,在继承无需添加

 

 

 

 

四、结论

转载于:https://www.cnblogs.com/TheMatrixOfTYY/p/11604630.html

你可能感兴趣的文章
mysql中key 、primary key 、unique key 与index区别
查看>>
bzoj2257
查看>>
Linux查看文件编码格式及文件编码转换<转>
查看>>
Leetcode: Find Leaves of Binary Tree
查看>>
Vue 模板解释
查看>>
http://www.bootcss.com/
查看>>
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
将多张图片和文字合成一张图片
查看>>
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>
opencv安装配置
查看>>
[Flex] flex手机项目如何限制横竖屏?只允许横屏?
查看>>
tensorflow的graph和session
查看>>
6-1 并行程序模拟 uva210
查看>>
JavaScript动画打开半透明提示层
查看>>
Mybatis生成resulteMap时的注意事项
查看>>