Java零基础入门:实战教程(二)

举报
程序员飞鸟 发表于 2022/05/10 19:00:08 2022/05/10
【摘要】 博主简介:博客主页:Java知识分享博主Java零基础入门专栏:Java零基础入门专栏Java交流社区:飞鸟社区欢迎阅读,如果文章对你有帮助点赞,支持一下!==推荐阅读==Java零基础入门:概论(一)Java零基础入门:实战教程(二) 问题描述:定义抽象的图形类,其中有求周长和面积的抽象方法,图形类派生出两个子类:圆形、正方形。并书写测试类。定义一个抽象类型shape,定义类名circul...

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

在这里插入图片描述

在这里插入图片描述

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。