学习内容:设计并实现加法器类 Adder

代码示例:

package 实验三;

import java.util.Scanner;

public class Adder {

private int num;
public Adder(int a) {
num=a;
System.out.println("Adder Constructor run");
}
public void setNum(int num) {
this.num=num;
}
public final int getNum() {
return num;
}
public final void show() {
System.out.println("Adder("+num+")");
}
public static void main(String[] args) {
int x,y;
Adder a1=new Adder(y=0);
Adder a3=a1;
System.out.println("请输入x:");
Scanner sc=new Scanner(System.in);
x=sc.nextInt();
a1.show();
y++;
Adder a2=new Adder(y);
a2.show();//代替(++a1).show()
++x;//代替(++a3).show()
a3.setNum(x);
a3.show();
Adder a4=new Adder(x+y);//代替(a1+a2).show()
a4.show();

}

}

运行截图:

遇到的问题:Java语言无法进行运算符重载,无法进行对象相加减

解决方法:用构造方法的参数相加减代替对象相加减

明天任务:设计并实现大数类 BigNum

设计并实现加法器类 Adder的更多相关文章

  1. YTU 2605: 熟悉题型——自由设计(比较大小-类模板)

    2605: 熟悉题型--自由设计(比较大小-类模板) 时间限制: 1 Sec  内存限制: 128 MB 提交: 125  解决: 107 题目描述 声明一个类模板,利用它分别实现两个整数.浮点数和字 ...

  2. 深刻理解Java中final的作用(一):从final的作用剖析String被设计成不可变类的深层原因

    声明:本博客为原创博客,未经同意,不得转载!小伙伴们假设是在别的地方看到的话,建议还是来csdn上看吧(原文链接为http://blog.csdn.net/bettarwang/article/det ...

  3. 设计模式学习(二):面向对象设计原则与UML类图

    一.UML类图和面向对象设计原则简介 在学习设计模式之前,需要找我一些预备知识,主要包括UML类图和面向对象设计原则. UML类图可用于描述每一个设计模式的结构以及对模式实例进行说明,而模式结构又是设 ...

  4. Java并发编程(十)设计线程安全的类

    待续... 线程安全的类 之前学了很多线程安全的知识,现在导致了我每次用一个类或者做一个操作我就会去想是不是线程安全的.如果每次都这样的考虑的话就很蛋疼了,这里的思路是,将现有的线程安全组件组合为更大 ...

  5. 设计线程安全的类 VS 发布线程安全的对象

    一.设计线程安全的类 步骤: 找出构成对象状态的所有变量 找出约束状态变量的不变性条件 建立对象状态的并发访问策略 1.在现有的线程安全类中添加功能 (1)重用能减低工作量和提高正确性 (2)如果底层 ...

  6. Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口

    更好阅读体验:Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口 问题 Java集合源码为什么设计为:「实现类继承了抽象类,同时实现抽象类实现的接口?」 看着List 集合的UML ...

  7. Java课程设计---项目数据库设计(含实体类)

    1.表设计 (1)新建表tb_student(学生表) (2)新建表tb_admin(管理员表) (3)新建表tb_teacher(教师表) (4)新建表tb_course(课程表) (5)新建表tb ...

  8. String类为什么被设计成不可变类

    1.享元模式: 1.共享元素模式,也就是说:一个系统中如果有多处用到了相同的一个元素,那么我们应该只存储一份此元素,而让所有地方都引用这一个元素. 2.Java中String就是根据享元模式设计的,而 ...

  9. 设计并实现大数类 BigNum

    学习任务:设计并实现大数类 BigNum 代码示例: import java.util.Scanner; public class BigNum { private double num; publi ...

随机推荐

  1. API的自动化测试

    传统的测试工具在测试一个API的时候,必须手动填写这个API所需要接收的所有信息,比如一个查询航班动态的API,他接收两个输入字段,一个叫flight, 一个叫date,那么测试这个API的用户,需要 ...

  2. 基于React的仿QQ音乐(移动端)

    前言 由于这段时间工作上也是挺忙的,就没有时间去写这个项目,中间一直都是写写停停,进度也是非常慢的.正好前几天都还比较空,就赶紧抓着空闲时间去写这个项目,最后紧赶慢赶地完成了.本项目采用了React的 ...

  3. 记住用户名和登录密码+虚拟机没有root权限解决办法

    今日所学: 记住用户名和登录密码 用adb查看保存文件内容 如何使用adb 如何安装adb-百度经验 遇到的问题: 用adb查看文件时,没有权限访问data文件 出现原因:google play虚拟机 ...

  4. Shiro 安全框架详解二(概念+权限案例实现)

    Shiro 安全框架详解二 总结内容 一.登录认证 二.Shiro 授权 1. 概念 2. 授权流程图 三.基于 ini 的授权认证案例实现 1. 实现原理图 2. 实现代码 2.1 添加 maven ...

  5. vue项目处理dpr和多屏幕适配问题

    <!DOCTYPE html> <html style="font-size:37.5px"> <head> <meta charset= ...

  6. 基于kubernetes的分布式限流

    做为一个数据上报系统,随着接入量越来越大,由于 API 接口无法控制调用方的行为,因此当遇到瞬时请求量激增时,会导致接口占用过多服务器资源,使得其他请求响应速度降低或是超时,更有甚者可能导致服务器宕机 ...

  7. 微信小程序 因文件大小不能使用本地背景图片解决方法

    因微信文件只允许2m,所以不能给图片太多空间.所以出现背景图片的坑 解决方案1: 把背景图片放到服务器文件件下,直接将路径给url. 得是https开头的路径才可以 解决方案2:将图片转换成base6 ...

  8. 读完学会shell语法,shell脚本80%已经学会

    第3章 shell语法讲解 3.1 shell运算讲解 3.1.1 运算符的讲解 3.1.2 shell运算方式的讲解 3.1.2.1 $(())运算 [root@m01 test_init] # a ...

  9. AOT和单文件发布对程序性能的影响

    前言 这里先和大家介绍一下.NET一些发布的历史,以前的.NET框架原生并不支持最终编译结果的单文件发布(需要依赖第三方工具),我这里新建了一个简单的ASP.NET Core项目,发布以后的目录就会像 ...

  10. js数组操作集合

    1. join() 功能:将数组中所有元素都转化为字符串并连接在一起. 2. reverse() 功能:将数组中的元素颠倒顺序. 3. concat() 功能:数组拼接的功能 ,返回新数组,原数组不受 ...