Java暑期学习第五十一天日报

一、今日学习内容:

今天练习第七章课后习题的内容。

二、遇到的问题:

三、明日计划:

明天继续练习第七章课后习题的习题。

今日练习的具体内容如下:

1定义一个基类Shape,在此基础上派生出Rectangle和Circle,二者都有getArea()函数计算对象的面积。使用Rectangle类创建一个派生类Square。

import java.util.Scanner;
 interface SquareArea{
    float a=3;
    public void getArea();
}
public abstract class shape  {
    protected static double Pi=3.14159;
    protected float m;
    public abstract void getArea() ;
    public static void main(String[] args) {
        System.out.println("请输入矩形的长和宽:");
        Scanner sc=new Scanner(System.in);
        float a=sc.nextFloat();
        float b=sc.nextFloat();
        Rectangle R=new Rectangle(a,b);
        R.getArea();
        System.out.println();
        System.out.println("请输入圆形的半径:");
        Scanner sc1=new Scanner(System.in);
        float r=sc.nextFloat();
        Circle C=new Circle(r);
        C.getArea();
        System.out.println();
        Square S=new Square();
        S.getArea();
    }

}
class Rectangle extends shape{
    private float n;
    Rectangle(float a,float b){
        m=a;
        n=b;
    }
    @Override
    public void getArea() {
        float s=m*n;
        System.out.println("矩形面积是:"+s);
    }    
}
class Circle extends shape {
    Circle(float e){
        m=e;
    }
    @Override
    public void getArea() {
        float s=(float) (Pi*m*m);
        System.out.println("圆形面积是:"+s);
    }
    
}
class Square implements SquareArea{

    @Override
    public void getArea() {
        float s=a*a;
        System.out.println("正方形面积是:"+s);
        
    }
    
}

测试截图:

 

  

2.定义一个基类BaseClass,从它派生出类DerivedClass。BaseClass有成员函数fn1(),fn2(),DerivedClass也有成员函数fn1(),fn2()。在主函数中声明一个DerivedClass的对象,分别用DerivedClass的对象以及BaseClass和DerivedClass的指针来调用fn1(),fn2(),观察运行结果。

public class BaseClass {
    public void fn1() {
        System.out.println("这是父类的fn1函数!");
    }
    public void fn2() {
        System.out.println("这是父类的fn2函数!");
    }
    public static void main(String[] args) {
        BaseClass B=new BaseClass();
        
        B.fn1();
        B.fn2();
        BaseClass D=new Derivedclass();
        
        D.fn1();
        D.fn2();
        
    }

}
class Derivedclass extends BaseClass{
    public void fn1() {
        System.out.println("这是子类的fn1函数!");
    }
    public void fn2() {
        System.out.println("这是子类的fn2函数!");
    }
}

测试截图:

 

原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/13562637.html