zoukankan      html  css  js  c++  java
  • 第六周课程总结&java实验报告四

    第六周课程总结:

    一、instanceof关键字

    1.作用:在Java中可以使用instanceof关键字判断一个对象到底是哪个类的实例。

    2.格式:对象 instanceof 类 -> 返回boolean类型

    二、接口

    1.概念:接口是Java中最重要的的概念之一,可以理解为一种特殊的类,里面全部都是由全局变量和公共变量的抽象方法所组成。

    2.定义格式:

    interface 接口名称{
            全局变量;
            抽象方法;
    }
    

    3.注意:在接口中的抽象方法必须定义成public访问权限,这个是绝对不可改变的,在很多Java程序中,经常看到编写接口方法的时候省略了public,那么就会有很多的读者认为它的访问权限是default,实际上这是错误的,不管写与不写接口中的方法永远是public

    4.使用:与抽象类一样,接口要使用也必须通过子类,子类通过implements关键字实现接口。

    5.实现接口格式:

    class 子类 implements 接口A,接口B,...{
    }
    

    6.要求:一个子类同时实现了两个接口,在子类中就必须同时覆写完两个接口中的全部抽象方法。

    三、抽象类与接口

    1.一个子类可以同时继承抽象类和实现接口。

    2.格式:

    class 子类 extends 抽象类 implements 接口A,接口B,...{
    }
    

    3.使用限制:

    3.1:允许一个抽象类实现多个接口。

    3.2:一个接口是不允许继承抽象类的。

    3.3:允许一个接口继承多个接口。

    格式:

    interface 子接口 extends 父接口A,父接口B,...{
    }
    

    实验报告四

    实验的内容

    根据下面的要求实现圆类Circle。

    1.圆类Circle的成员变量:radius表示圆的半径。

    2.圆类Circle的方法成员:

            Circle():构造方法,将半径置0
           Circle(double r):构造方法,创建Circle对象时将半径初始化为r
           double getRadius():获得圆的半径值
           double getPerimeter():获得圆的周长
           void disp():将圆的半径和圆的周长,圆的面积输出到屏幕
    

    源代码

    package disizhou;
    class Circle {
    	private double radius;
    	public void Circle() {
    		this.radius=0;
    	}
    	public Circle(double r) {
    		this.radius=r;
    	}
    	public void setRadius(double radius) {
    		this.radius = radius;
    	}
    	public double getRadius() {
    		return radius;
    	}
    	public double getPerimeter() {
    		return 2*Math.PI*radius;
    	}
    	public void disp() {
    		System.out.println("圆的半径:"+getRadius());
    		System.out.println("圆的周长:"+getPerimeter());
    		System.out.println("圆的面积:"+Math.PI*Math.pow(getRadius(), 2));
    	}
    	public static void main(String[] args) {
    		Circle cir=new Circle(4);
    		cir.disp();
    	}
    }
    

    错误截图


    改正:发现是构造函数返回类型不能写void,应该把void去掉就可以了。

    运行截图

    改正后截图

    自我评价:这个题目并不是很难,只要细心做就能做出来,期间也看了一下书。

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

    1.圆柱体类Cylinder的成员变量:height表示圆柱体的高。

    2.圆柱体类Cylinder的成员方法:

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

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

    源代码:

    package disizhou;
    class Cylinder extends Circle {
    	private double height;
    	public Cylinder(double r,double h) {
    		super(r);
    		this.height=h;
    	}
    	public double getHeight() {
    		return height;
    	}
    	public void setHeight(double height) {
    		this.height = height;
    	}
    	public double getVol() {
    		return Math.PI*Math.pow(getRadius(), 2)*height;
    	}
    	public static void main(String[] args) {
    		Cylinder cyl=new Cylinder(2,4);
    		System.out.println("圆柱体的体积:"+cyl.getVol());
    	}
    }
    

    运行截图:

    自我评价:因为有了第一题的基础所以这个题目做起来还可以。

    源代码

    package disizhou;
    import java.util.Scanner;
    class Cylinder extends Circle {
    	private double height;
    	public Cylinder(double r,double h) {
    		super(r);
    		this.height=h;
    	}
    	public double getHeight() {
    		return height;
    	}
    	public void setHeight(double height) {
    		this.height = height;
    	}
    	public double getVol() {
    		return Math.PI*Math.pow(getRadius(), 2)*height;
    	}
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		double radius=sc.nextDouble();
    		double heigth=sc.nextDouble();
    		Cylinder cyl=new Cylinder(radius,heigth);
    		System.out.println("圆柱体的体积:"+cyl.getVol());
    	}
    }
    

    运行截图

    自我评价:这个题目也就是上个题目加个输入就可以了,还是能够写出来的。

  • 相关阅读:
    Effective C# 学习笔记(二十九)在范型中的协变和逆变
    Effective C# 学习笔记(二十一)为类型定义有限的职责
    Effective C# 学习笔记(十四) 尽量减少重复性的初始化逻辑
    Effective C# 学习笔记(十三)对静态类成员使用合适的初始化方式
    Effective C# 学习笔记(二十六)防止返回类内部的对象引用
    Effective C# 学习笔记(十二) 多用成员变量初始化,少用指定赋值
    Effective C# 学习笔记(二十七)使你的类型可被序列化
    Effective C# 学习笔记(二十四)运用Delegates来实现回调
    Effective C# 学习笔记(二十)不可变的原子值类型的好处
    UIPageController与UIScrollView的联合使用
  • 原文地址:https://www.cnblogs.com/lcbxhda/p/11632161.html
Copyright © 2011-2022 走看看