zoukankan      html  css  js  c++  java
  • 第六次学习总结&&第四次实验总结

    Java实验报告

    班级 1班 学号 20188390 姓名 宋志豪

    实验四 类的继承

    1.实验目的
    (1)掌握类的继承方法;
    (2)变量的继承和覆盖,方法的继承、重载和覆盖实现;
    2.实验内容

    实验代码

    package 继承;
    
    import java.io.InputStream;
    import java.util.Scanner;
    
    class Circle{
    	private double radius;
    	public Circle() {
    		this.radius=0;
    	}
    	public Circle(double radius) {
    		this.radius=radius;
    	}
    	public double getRadius() {
    		return radius;
    	}
    	public double getPerimeter() {
    		return Math.PI*2*this.radius;
    	}
    	public double getArea() {
    		return Math.PI*Math.pow(this.radius, 2);
    	}
    	public void disp() {
    		System.out.println("圆的半径:"+this.radius+"
    圆的周长:"+this.getPerimeter()+"
    圆的面积:"+this.getArea());
    	}
    }
    
        public class Cylinder extends Circle{
        	private double height;
        	
        public Cylinder(double r,double h) {
        	super(r);
        	this.height=h;
        }
        public double getHeight() {
        	return height;
        }
        public double getVol() {
        	return getArea()*this.height;
        }
        public void dispVol() {
        	System.out.println(getVol());
        }
        
        public static void main(String[] args) {
        	Scanner input=new Scanner (System.in);
        	Cylinder cylinder=new Cylinder(input.nextDouble(),input.nextDouble());
            cylinder.disp();
            System.out.println(cylinder.getVol());
        }
    }
    

    实验结果


    没有在同时输出圆的周长,和圆柱的面积,只是输出了圆的体积:已经解决问题,忘记调用方法disp()了。
    出现了一个问题:使用 Scanner input=new Scanner(System.in); 错误提示说 Scanner无法解析为类型
    原因是没有导入这个类, 因为前面使用了import java.io.InputStream;这个类,所以一时疏忽忘记了。

    实验心得

    在写这个题的时候,发现它的基础算法与以前的长方形问题大同小异,难点在于继承这个新知识的使用,使用时非常的难以理解,要看着软件里的警告和问题提示一点一点改正,看不懂的知识还要上网搜索。

    学习总结

    老师上课的时候提到了两个思考题,上周第一节课是猫类和狗类的判断吧,记得不是很清楚;第二个就是说判断传进来的参数是否是猫的子类或者是猫的实例,我们寝室讨论的结果是使用if语句,用instanceof关键字来判断传进来的参数是否是猫的子类或者是猫的实例。
    implements关键字在class声明中使用,以指示所声明的类提供了在implements关键字后面的名称所指定的接口中所声明的所有方法的实现。
    instanceof关键字用来确定对象所属的类。

    接口:

    接口的定义

    使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:

    [修饰符] interface 接口名 [extends 父接口名列表]{

    [public] [static] [final] 常量;
    [public] [abstract] 方法;
    }
    修饰符:可选,用于指定接口的访问权限,可选值为public。如果省略则使用默认的访问权限。
    接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符。一般情况下,要求首字母大写。
    extends 父接口名列表:可选参数,用于指定要定义的接口继承于哪个父接口;
    当使用extends关键字时,父接口名为必选参数。
    方法:接口中的方法只有定义而没有被实现;
    接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。

    接口的作用

    (1)通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。
    (2)通过接口可以指明多个类需要实现的方法。
    (3)通过接口可以了解对象的交互界面,而不需了解对象所对应的类。
    注意的点:
      类描述了一个实体,包括实体的状态,也包括实体可能发出的动作。
      接口定义了一个实体可能发出的动作。但是只是定义了这些动作的原型,没有实现,也没有任何状态信息。

    自己对学习的看法

    上课的内容的跨度比较大,一节课学习的内容比较多,不提前进行预习是很难跟得上老师的进度。
    以后可以在PTA上找出比较适合自己实力的题目去拓展自己,不过要等到我能熟练的使用我所学的知识,加油!!!

  • 相关阅读:
    tesseract的简单使用
    快速添加请求头
    1010. 一元多项式求导 (25)
    1009. 说反话 (20)
    1008. 数组元素循环右移问题 (20)
    1007. 素数对猜想 (20)
    1006. 换个格式输出整数 (15)
    素数判断
    1002. 写出这个数 (20)
    1005. 继续(3n+1)猜想 (25)
  • 原文地址:https://www.cnblogs.com/songzhihaoT1/p/11620514.html
Copyright © 2011-2022 走看看