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 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;
		
	
	}
	
}

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/A6_107/article/details/124064735
今日推荐