博主简介:
博客主页: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 stub Bank 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; } }