总结&报告四1

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

二、实验内容
(1)根据下面的要求实现圆类Circle.
①圆类Cirle的成员变量: radius 表示圆的半径。
②圆类Cirdle的方法成员:
Circle () :构造方法,将半径置0
Circle (doubler) :构造方法:
创建Circle对象时将半径初始化为r
double getRadius () :获得圆的半径值
double getPerimeter () :获得圆的周长
void disp O :将圆的半径、圆的周长和圆的面积输出到屏幕
(2)维承第(1)题中的圆Circle类,派生圆柱体类Cylinder。要求如下:
①圆柱体类Cylinder的成员变量: height 表示圆柱体的高。
②圆柱体类Cylinder的成员方法:Cylinder (doubler, double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱高初始化为h

public class demo2 {

 private double radius;
  demo2(){
	 radius=0;//构造方法将半径置0
 }
  public demo2(double r) {             //第七行和第十行有什么区别
	 radius=r;
 }
 
 public double getRadius() {
	 return radius;
 }
 public void setRadius(double radius) {
	 this.radius=radius;
 }
 
 public double getPerimeter() {
	 return 2*Math.PI*radius;
 }
 public double getArea() {
	 return Math.PI*Math.pow(radius,2);//在java里引入Π的一种方法
 }
 public static void main(String[] args) {
	 demo2 a=new demo2(1);
	 System.out.println("周长:"+a.getPerimeter());
	 System.out.println("面积:"+a.getArea());
	 System.out.println("半径:"+a.getRadius());
 }

}
运行结果

在后面这个第二问中 我开始不知道我的代码错误在哪 于是出现了如下情况
在这个第33行代码以后 加不加运行结果都是一样的

后来问同学的时候发现是有两个主入口 所以输出的结果只有之前的那一个 后面那个则被忽略
public class demo2 {

 private double radius;
 public demo2(){
	 radius=0;//构造方法将半径置0
 }
 public demo2(double r) {             //第七行和第十行有什么区别
	 radius=r;
 }
 
 public double getRadius() {
	 return radius;
 }
 public void setRadius(double radius) {
	 this.radius=radius;
 }
 
 public double getPerimeter() {
	 return 2*Math.PI*radius;
 }
 public double getArea() {
	 return Math.PI*Math.pow(radius,2);//在java里引入Π的一种方法,一句话要写两个Math
 }
 public static void main (String[] args){
	 demo2 a=new demo2(1);
	 System.out.println("周长:"+a.getPerimeter());
	 System.out.println("面积:"+a.getArea());
	 System.out.println("半径:"+a.getRadius());
 }

}

class cylinder extends demo2{
private double height;
private double radius;
public cylinder(double r,double h){
this.radius=r; //这一行是不是也可以不写
this.height=h; //这是在整啥?
}
public double getHeight(){
return this.height;
}

	 public double getVol(){
		 return super.getArea()*height;
	 }
	 public static void main(String[] args){
		 cylinder b=new cylinder(1,2);        //这里还要令一个方法
		 
		
		 System.out.println("高:"+b.getHeight());
		 System.out.println("体积:"+b.getVol());
		 
	 }
	 
	 
 }

本周总结
因为我没有听太懂上课老师讲的 然后又要写这次的作业 所以我就先是看书然后再去做题 这次的题目比较简单 主要是一个继承的方法以及继承后扩展的方法
这两个主要讲的是在重载父类与子类关系时的一个易错点

接口类
定义:如果类的所有方法都没有实现,那么这个类就算是接口
抽象类:
定义:若方法只有方法名字,形参列表,没有方法体,那所在的类就被定义为抽象类。

posted @ 2019-10-07 21:06  JCclub  阅读(163)  评论(0编辑  收藏  举报