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

简介: 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;
  }
}


相关文章
|
2月前
|
存储 Java 开发者
Java Map实战:用HashMap和TreeMap轻松解决复杂数据结构问题!
【10月更文挑战第17天】本文深入探讨了Java中HashMap和TreeMap两种Map类型的特性和应用场景。HashMap基于哈希表实现,支持高效的数据操作且允许键值为null;TreeMap基于红黑树实现,支持自然排序或自定义排序,确保元素有序。文章通过具体示例展示了两者的实战应用,帮助开发者根据实际需求选择合适的数据结构,提高开发效率。
64 2
|
19天前
|
安全 Java 开发者
Java 多线程并发控制:深入理解与实战应用
《Java多线程并发控制:深入理解与实战应用》一书详细解析了Java多线程编程的核心概念、并发控制技术及其实战技巧,适合Java开发者深入学习和实践参考。
40 6
|
2月前
|
存储 消息中间件 安全
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
【10月更文挑战第9天】本文介绍了如何利用JUC组件实现Java服务与硬件通过MQTT的同步通信(RRPC)。通过模拟MQTT通信流程,使用`LinkedBlockingQueue`作为消息队列,详细讲解了消息发送、接收及响应的同步处理机制,包括任务超时处理和内存泄漏的预防措施。文中还提供了具体的类设计和方法实现,帮助理解同步通信的内部工作原理。
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
|
7天前
|
Java 数据库连接 编译器
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
15 0
|
1月前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
1月前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
1月前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
|
20天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
10 0
|
2月前
|
JSON Java Maven
实现Java Spring Boot FCM推送教程
本指南介绍了如何在Spring Boot项目中集成Firebase云消息服务(FCM),包括创建项目、添加依赖、配置服务账户密钥、编写推送服务类以及发送消息等步骤,帮助开发者快速实现推送通知功能。
88 2
|
2月前
|
开发框架 Java 程序员
揭开Java反射的神秘面纱:从原理到实战应用!
本文介绍了Java反射的基本概念、原理及应用场景。反射允许程序在运行时动态获取类的信息并操作其属性和方法,广泛应用于开发框架、动态代理和自定义注解等领域。通过反射,可以实现更灵活的代码设计,但也需注意其性能开销。
52 1