一、今日学习内容:
今天练习第七章课后习题的内容。
二、遇到的问题:
无
三、明日计划:
明天继续练习第七章课后习题的习题。
今日练习的具体内容如下:
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函数!"); } }
测试截图: