• 第六周Java总结&实验总结


    Java实验报告

    班级 计科2班 学号 20188416 姓名 刘硕
    完成时间
    评分等级

    实验四 类的继承

    实验目的
    掌握类的继承方法;
    变量的继承和覆盖,方法的继承、重载和覆盖实现;

    实验内容


    实验源码:

    package Tree;
    import java.util.Scanner;
    
    class Circle{
    	private double radius;    //对半径进行定义和封装
    	public Circle() {
    	    setRadius(0);         //第一个构造方法
    	}
    	public Circle(double r) {
    	    setRadius(r);         //第二个构造方法
    	}
    	public double getRadius() {
    	    return radius;       
    	}
    	public void setRadius(double radius) {
    	    this.radius = radius;
    	}
    	public double getPerimeter() {
    	    return 2*Math.PI*getRadius();     //取得周长
    	}
    	public double getArea(){ 
            return Math.PI*getRadius()*getRadius();  //取得面积
        } 
    	public void disp() {
    	    System.out.println("圆的半径为:"+getRadius());
    	    System.out.println("圆的周长为:"+getPerimeter());
    	    System.out.println("面积为:"+getArea());
    	}
    }
    
    public class Green{
    
    	public static void main(String args[]) {
    	    Scanner rad=new Scanner(System.in);
    	    Circle  cir=new Circle();    //声明并实例化对象
    	    cir.disp();
    	    System.out.println("请输入半径:");
    	    double r=rad.nextDouble();
    	    cir.setRadius(r);   //调用第二个构造方法
    	    cir.disp();
    	}
    }      
    

    运行结果:

    实验源码:

    package Tree;
    import java.util.Scanner;
    
    class Circle{
        private double radius;    //对半径进行定义和封装
        public Circle() {
            setRadius(0);         //第一个构造方法
        }
        public Circle(double r) {
            setRadius(r);         //第二个构造方法
        }
        public double getRadius() {
            return radius;       
        }
        public void setRadius(double radius) {
            this.radius = radius;
        }
        public double getPerimeter() {
            return 2*Math.PI*getRadius();     //取得周长
        }
        public double getArea(){ 
            return Math.PI*getRadius()*getRadius();  //取得面积
        } 
        public void disp() {
            System.out.println("圆的半径为:"+getRadius());
            System.out.println("圆的周长为:"+getPerimeter());
            System.out.println("面积为:"+getArea());
        }
    }
    class Cylinder extends Circle {
            private double height;
            public double getHeight() {
                  return height;       //取得圆柱体的高
         }
    
            public void setHeight(double height) {
                  this.height = height;   //设置圆柱的高
          }
    
            public Cylinder(double r,double h) {
                  setRadius(r);       //调用父类的方法
                  setHeight(h);
          }
            public double getVol() {
                  return Math.pow(getRadius(),2)*Math.PI*getHeight();  //取得圆柱体积
          }
            public void dispVol() {
                  System.out.println("圆柱体的体积为:"+getVol());
          }
    }
    
    
    public class Green{
    
        public static void main(String args[]) {
            Scanner rad=new Scanner(System.in);
            System.out.println("请输入半径:");
            double r=rad.nextDouble();
            System.out.println("请输入圆柱的高:");
            double h=rad.nextDouble();
            Cylinder vol=new Cylinder(r,h);
            vol.disp();
            vol.dispVol();
        }
    }      
    

    运行结果:

    四、总结
    通过对属性的封装,类的继承等的学习,我知道了他们书写格式以及各自的作用。但是在编写代码的过程中并不能自然的写出,需要我翻书找到相应的例子才能写出,
    希望能够进行更多练习得到提高。
    1、接口

                1)定义
                      interface 接口名称{
                      }
    
                2)实现
                     class 子类 implements 接口A,接口B····{
                      }
    

    2、对象的多态性
    对象的多态性主要分两种类型:
    1)向上转型:子类对象->父类对象
    2)向下转型:父类对象->子类对象
    对象转型

                            对象向上转型:父类 父类对象=子类实例    
                            对象向下转型:子类 子类对象=(子类)父类实例
    

    对于向上转型,程序会自动完成,而对于向下转型时,必须明确的指明要转型的子类类型。

  • 相关阅读:
    [译]ABP vNext微服务演示,项目状态和路线图
    [译]初试C# 8.0
    [译]ABP vNext介绍
    ViewModel从未如此清爽
    python 函数基础及装饰器
    python 基础一
    scrapy基础二
    scrapy 基础
    python 基础技巧
    pandas 基础
  • 原文地址:https://www.cnblogs.com/chixue/p/11620355.html
Copyright © 2020-2023  润新知