第六周&java实验报告四
课程总结
1.instanceof关键字
在java中可以使用instanceof关键字判断一个对象到底是不是哪个类的实例
对象instanceof类→返回boolean类型
2.接口
接口是java中最重要的概念,接口可以理解为一种特殊的类,由全局变量和公共的抽象方法所组成。
实现接口
接口要使用也必须通过子类,子类通过implements关键字实现接口
3.继承抽象类实现接口
一个子类可以同时继承抽象类和实现接口
格式
class 子类 extends 抽象类 implements 接口A,接口B.....{}
接口和抽象类的使用限制
· 允许一个抽象类实现多个接口
· 一个接口是不允许继承抽象类的
· 允许一个接口继承多个接口
· 一个接口不能继承一个抽象类,但是可以通过extends关键字同时继承多个接口,实现接口的多继承。
interface 子接口 extends 父接口A,父接口B,.....{}
实验报告
(1)根据下面的要求实现圆类Circle。
1.圆类Circle的成员变量:radius表示圆的半径。
2.圆类Circle的方法成员:
Circle():构造方法,将半径置0
Circle(double r):构造方法,创建Circle对象时将半径初始化为r
double getRadius():获得圆的半径值
double getPerimeter():获得圆的周长
void disp():将圆的半径和圆的周长,圆的面积输出到屏幕
public class Circle {
private double radius;
private double perimeter;
public void Circle(){
this.radius=0;
}
public void Circle(double radius){
this.radius=radius;
}
public void setRadius(double radius){
this.radius=radius;
}
public double getRadius(){
return radius;
}
public void setPerimeter(){
this.perimeter=2*Math.PI*radius;
}
public double getPerimeter(){
return perimeter;
}
public void disp(){
System.out.println("半径:"+radius);
System.out.println("周长:"+perimeter);
System.out.println("面积:"+(Math.PI*Math.pow(radius,2)));
}
}
(2)继承第一题中的圆Circle类,派生圆柱体类Cylinder。要求如下:
1.圆柱体类Cylinder的成员变量:height表示圆柱体的高。
2.圆柱体类Cylinder的成员方法:
Cylinder(double r,double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h。
double getHeight():获得圆柱体的高
double getVol():获得圆柱体的体积
void dispVol():将圆柱体的体积输出到屏幕
3.按照第二题的Cylinder类,接上键盘的输入值作为圆的半径和圆柱体的高,计算圆柱体的体积
public class Cylinder extends Circle {
private double height;
private double vol;
public void Cylinder(double radius,double height){
this.height=height;
this.setRadius(radius);
}
public double getHeight(){
return height;
}
private void setHeight(double height){
this.height=height;
}
public double getVol(){
vol=(Math.PI*Math.pow(getRadius(),2)*height);
return vol;
}
public void dispVol(){
System.out.println("体积:"+vol);
}
}
import java.util.Scanner;
public class Test {
public static void main(String[] args){
System.out.print("请输入半径:");
Scanner r1=new Scanner(System.in);
double r=r1.nextDouble();
System.out.print("请输入高:");
Scanner h1=new Scanner(System.in);
double h=h1.nextDouble();
Cylinder cyl=new Cylinder();
cyl.Cylinder(r,h);
cyl.getVol();
cyl.dispVol();
}
}