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)是主函数入口,在继承无需添加
四、结论