zoukankan      html  css  js  c++  java
  • JAVA实验报告四及第六周总结

    JAVA实验报告四及第六周总结

    JAVA第六周作业

    实验报告四

    第一题

    1)根据下面的要求实现圆类Circle。
    1.圆类Circle的成员变量:radius表示圆的半径。
    2.圆类Circle的方法成员:
           Circle():构造方法,将半径置0
           Circle(double r):构造方法,创建Circle对象时将半径初始化为r
           double getRadius():获得圆的半径值
           double getPerimeter():获得圆的周长
           void disp():将圆的半径和圆的周长,圆的面积输出到屏幕
    (2)继承第一题中的圆Circle类,派生圆柱体类Cylinder。要求如下:
    1.圆柱体类Cylinder的成员变量:height表示圆柱体的高。
    2.圆柱体类Cylinder的成员方法:
            Cylinder(double r,double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h。
            double getHeight():获得圆柱体的高
            double getVol():获得圆柱体的体积
            void dispVol():将圆柱体的体积输出到屏幕
    3.按照第二题的Cylinder类,接上键盘的输入值作为圆的半径和圆柱体的高,计算圆柱体的体积

    (1)根据下面的要求实现圆类Circle

    实验代码

    package Test1;
    
    public class Result {
        private double radius;
        public Result(){
            radius = 0;
        }
        public Result(double r) {
            radius = r;
        }
        public double getRadius() {
            return radius;
        }
        public double getPerimeter() {
            return 2 * 3.14159654 * radius;
        }
        public double getArea() {
            double area=radius*radius*3.141592654;
            return area;
        }
        public void disp() {
            System.out.println("圆的半径为:" + radius);
            System.out.println("圆的周长为:" + (2 * 3.141592654 * radius));
            System.out.println("圆的面积为:" + (3.141592654 * radius * radius));
        }
    }
    
    package Test1;
    
    public class Output {
    
        public static void main(String[] args) {
            Result c = new Result(1);
            System.out.println(c.getRadius());
            System.out.println(c.getPerimeter());
            System.out.println(c.getArea());
        }
    
    }
    运行结果

    (2)继承第一题中的圆Circle类,派生圆柱体类Cylinder。要求如下:

      Cylinder(double r,double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h。
        double getHeight():获得圆柱体的高
        double getVol():获得圆柱体的体积
        void dispVol():将圆柱体的体积输出到屏幕

    3.按照第二题的Cylinder类,接上键盘的输入值作为圆的半径和圆柱体的高,计算圆柱体的体积

    实验代码

    package Test1;
    
    public class Cylinder extends Result{
            private double height;
    
            public double getHeight() {
                return height;
            }
    
            public void setHeight(double height) {
                this.height = height;
            }
    
            public Cylinder(double radius, double height) {
                super(radius);
                this.height = height;
            }
            
            public double getVol() {
                double vol=super.getArea()*height;
                return vol;
            }
            
            public void disp() {
                super.disp();
                System.out.println("体积:"+getVol());
            }
        }
    package Test1;
    
    public class Output2 {
        
        public static void main(String[] args) {
            Cylinder c = new Cylinder(1,2);
            c.disp();
        }
    
    }
    

    运行结果

    课程总结

    instanceof关键字

    ①instanceof关键字的作用:判断一个对象是否属于指定的类别。
    ②instanceof关键字的使用前提:判断的对象与指定的类别必须要存在继承或者实现的关系。
    ③instanceof关键字的使用格式:对象 instanceof 类别
    ④instanceof关键字的作用: 一般我们做强制类型转换之前都会使用该关键字先判断一次,然后再进行转换的。

    接口和抽象类的使用限制

    ①允许一个抽象类实现多个接口
    ②一个接口是不允许继承抽象类的
    ③允许一个接口继承多个接口
    ④一个接口不能继承一个抽象类,但是可以通过extends关键字同时继承多个接口,实现接口的多继承。

    抽象类与接口

    总结几句话来说:

    1、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。

    2、抽象类要被子类继承,接口要被类实现。

    3、接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现

    4、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。

    5、抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。

    6、抽象方法只能申明,不能实现,接口是设计的结果 ,抽象类是重构的结果

    7、抽象类里可以没有抽象方法

    8、如果一个类里有抽象方法,那么这个类只能是抽象类

    9、抽象方法要被实现,所以不能是静态的,也不能是私有的。

    10、接口可继承接口,并可多继承接口,但类只能单根继承。

    
    
  • 相关阅读:
    内存泄露的小问题(转载)
    脚本错误:"return 语句不能在函数之外" (转载)
    转载:asp.net网页防刷新重复提交、防后退解决办法集!
    转载:一行代码搞定你的QueryString
    转载 PowerDesigner Name/Code自动调整
    无刷新仿google波形扭曲彩色Asp.net验证码
    转载:认识Web.config文件
    转载:将数据库从SQL2000迁移到SQL2005时,无法查看关系图的解决办法
    [转]WTL的windows mobile环境的配置(vs2008)[最终版,验证通过]
    [转].NET中Cache用法分析
  • 原文地址:https://www.cnblogs.com/songjiah/p/11632844.html
Copyright © 2011-2022 走看看