zoukankan      html  css  js  c++  java
  • 【每日日报】第十天

    1 今天写了以圆类Circle为基础设计球类Sphere

     实验要求:

     

     

      程序源代码:

    package Point;
    import java.util.Scanner;
    public class Ma {
     public static void main(String[] args){
      Scanner input = new Scanner(System.in);
         double r = input.nextDouble();
         Sphere s1=new Sphere(1,2,4);
         Sphere s2=new Sphere(s1);
         s1.show();
         System.out.println();
         System.out.println("Area="+s1.area());
         System.out.println("Volume="+s1.volume());
         s2.setRadius(r);
         s2.show();
         System.out.println();
         System.out.println("Area="+s2.area(1));
         System.out.println("Circumference="+s2.circumference());
         input.close();
     }
    }
     
    package Point;
    public class Point {
         double x;
         double y;
         Point()//无参构造
         {
          x=0;
          y=0;
             System.out.println("Point Constructor run");
         }
         Point(double xv,double yv)//有参构造
         {
          x=xv;
          y=yv;
          System.out.println("Point Constructor run");
         }
         Point(Point p)            //拷贝构造
         {
          x=p.x;
          y=p.y;
          System.out.println("Point CopyConstructor run");
         }
         void show()            //显示Point信息
         {
          System.out.println("("+x+","+y+")");
         }
         double area(){return 0;}           //面积=0
         void setX(double xv){x=xv;}        //设置X坐标
         void setY(double yv){y=yv;}        //设置Y坐标
         double getX() {return x;}           //获取X坐标
         double getY() {return y;}           //获取Y坐标
    }
     
    package Point;

    public class Circle extends Point{
     static double PI=3.14159;
     double radius;
     Circle()
        {
            System.out.println("Circle Constructor run");
        }
     Circle(double xx,double yy,double rr)
        {
      super(xx,yy);
         radius=rr;
            System.out.println("Circle Constructor run");
        }
      Circle(Circle cir)
        {
          super(cir);
             radius=cir.radius;
             System.out.println("Circle CopyConstructor run");
      }
      void setRadius(double r){radius=r;}
      double getRadius() {return radius;}
         double circumference() {return 2*PI*radius;}        //用于计算圆的周长
         double area() {return PI*radius*radius;}            //用于计算圆的面积
         void show() {System.out.println("("+x+","+y+"),"+"Radius="+getRadius());}
    }
     
    package Point;
    public class Sphere extends Circle{
     Sphere(){System.out.println("Sphere Constructor run");}
     Sphere(double xx, double yy, double rr)//有参构造函数Sphere
     {
      super(xx,yy,rr);
      System.out.println("Sphere Constructor run");
     }
     Sphere(Sphere sp)          //拷贝构造函数Sphere
     {
          super(sp);
             setRadius(sp.getRadius());
             System.out.println("Sphere CopyConstructor run");
      }
     double volume()  //用于计算球的体积
     {
         double r=getRadius();
         return 4*PI*r*r*r/3;
     }
     double area()  //用于计算球的表面积
     {
         double r=getRadius();
         return 4*PI*r*r;
     }
     double area(int i)
     {return super.area();}
    }

      运行截图:

    2  今天学到可以在子类通过super调用父类的构造以及其他函数,可以在子类中通过函数的重载调用父类已经被覆盖的函数。

    3 明天继续写题

  • 相关阅读:
    openstack首页默认跳转
    centos7.3挂在移动硬盘(亲测)
    管理openstack多region介绍与实践
    一款功能强悍的web磁盘管理工具 (A powerful web disk management tools)
    文件及目录的归属关系
    Linux 权限基础说明
    umask默认权限分配
    linux删除、读取文件原理
    linux 文件类型
    LINUX 目录结构
  • 原文地址:https://www.cnblogs.com/linmob/p/13303303.html
Copyright © 2011-2022 走看看