飞鸟社区:Java零基础入门:实战教程(二)

博主简介:
博客主页:Java知识分享博主
Java零基础入门专栏:Java零基础入门专栏
Java交流社区:飞鸟社区
欢迎阅读,如果文章对你有帮助点赞,支持一下!

推荐阅读
Java零基础入门:概论(一)
Java零基础入门:实战教程(二)

问题描述:

定义抽象的图形类,其中有求周长和面积的抽象方法,图形类派生出两个子类:圆形、正方形。并书写测试类。

定义一个抽象类型shape,定义类名circular圆形,定义半径,构造函数,计算机面积公式以及周长,正方形也是一样,用c2.print()调用方法输出结果

package S3;public class S1 {public static void main(String[] args) {circular c1 =new circular(4);//传递实参c1.print();Square c2 = new Square(5);c2.print();//调用方法}}abstract class Shape{abstract double getArea();abstract double getperimeter();}class circular extends Shape //圆形{ double rear; public circular(double r)//构造函数{rear=r;}public double getArea() //面积{return 3.14*rear*rear;}public double getperimeter() //周长{return 2*3.14*rear;}public void print()//输出圆形的面积和周长{System.out.println("面积是:"+getArea());System.out.println("周长是:"+getperimeter());}}class Square extends Shape //正方形{double leght; public Square(double l){leght=l;}public double getArea() //面积{return leght*leght;}public double getperimeter() //周长{return 2*(leght+leght);}public void print(){System.out.println("面积是:"+getArea());System.out.println("周长是:"+getperimeter());}}

问题描述:

二、假设银行Bank已经有了按整年计算利息的一般方法,其中year只能取正整数,比如按整年计算的方法:
double comperterInterest()
{
interest=year0.35savedMoney;
return interest
}
建设银行ConstructionBank是Bank的子类准备覆盖继承的成员变量year,并覆写计算利息的方法,即自己声明一个double型的year变量,比如,当year取值5.216时,表示要计算5年零216天的利息,但希望首先按银行Bank的方法comperterInterest()计算出5整年的利息,然后再自己计算216天的利息。那么,建设银行就必须把5.216的整数部分赋给隐藏的year,并让super调用隐藏的,按整年计算利息的方法。
假设按天计算利息时每天利息是0.0001.

建设银行ConstructionBank是Bank的子类准备覆盖继承的成员变量year,并覆写计算利息的方法,同样构造函数,传递参数,计算利息,调用方法。

package S3;public class S2 {public static void main(String[] args) {// TODO Auto-generated method stubBank C1 =new ConstructionBank();C1.dispoit(10000.75, 8);//C1.computerInterest();System.out.println(C1.computerInterest());}}class Bank{int year;//年份double interest;//利息double saveMoney;//保存货币void dispoit(double money,int year) {saveMoney=money;this.year=year;}double computerInterest(){ interest=year*0.35*saveMoney; return interest;}}class ConstructionBank extends Bank{double year;double price;double computerInterest(){price=(year-(int)year)*0.0001*saveMoney+super.computerInterest();return price;}}

相关推荐

相关文章