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; //将半径初始化为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() //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变为Circle 38 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)是主函数入口,在继承无需添加
四、结论
1万+

被折叠的 条评论
为什么被折叠?



