Java进阶学习(2)之对象交互(上)
对象交互
- 对象交互
- 对象的识别
- 时钟小程序
- 把现实世界用对象去建模,去分解问题规模,最终抽象成对象和对象的模型
- 例如11:03的小程序,可以抽象成一个显示类,一个类生成两个对象去表示时钟
- package com.study;
- public class Display
- {
- private int value=0;
- private int limit=0;
- Display(int limit)
- {
- this.limit=limit;
- }
- public int getValue()
- {
- return value;
- }
- public void increase()
- {
- value++;
- if(value==limit)
- {
- value=0;
- }
- }
- public static void main(String[] args)
- {
- Display d=new Display(24);
- for(;;)
- {
- d.increase();
- System.out.println(d.getValue());
- }
- }
- }
时钟从0到23
- 对象的交互
- package com.study;
- public class Clock
- {
- private Display hour=new Display(24);
- private Display minute=new Display(60);
- public void start()
- {
- for(;;)
- {
- minute.increase();
- if(minute.getValue()==0)
- {
- hour.increase();
- }
- print(hour.getValue(),minute.getValue());
- }
- }
- public void print(int a,int b)
- {
- System.out.printf("%02d:%02d\n",a,b);
- }
- public static void main(String[] args)
- {
- // TODO Auto-generated method stub
- Clock clock=new Clock();
- clock.start();
- }
- }
- 对象的识别
Java进阶学习(2)之对象交互(上)的更多相关文章
- Java进阶学习:将文件上传到七牛云中
Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...
- Java进阶学习:log4j的学习和使用
Java进阶学习——log4j的学习和使用 简介Loj4j Log4j的组成 Log4j主要由三大组组件构成: Logger: 负责生成日志,并能够对日志信息进行分类筛选,通俗的讲就是决定什么日志信息 ...
- Java进阶学习(3)之对象容器(上)
对象容器 顺序容器 记事本的例子 UI设计和业务逻辑要分离 接口设计 add(String note); getSize(); getNote(int index); removeNote(index ...
- Java进阶学习(2)之对象交互(下)
访问属性 封闭的访问属性 private等访问权限控制是对类的,这意味着同一类的不同对象可以互相访问其成员 这是从代码层面去考虑的,意味着不同类文件 开放的访问属性 一个类文件就是一个编译单元 pub ...
- Java进阶学习(1)之类与对象(上)
package com.study; //自动售卖机 public class vmachine { private int price = 80; private int balance; priv ...
- Java进阶学习(3)之对象容器.小练习
查找里程(10分) 题目内容: 下图为国内主要城市之间的公路里程: 你的程序要读入这样的一张表,然后,根据输入的两个城市的名称,给出这两个城市之间的里程. 注意:任何两个城市之间的里程都已经给出,不需 ...
- Java进阶学习(3)之对象容器(下)
对象数组 对象数组中的每个元素都是对象的管理者而非对象本身 对象数组的for—each循环 集合容器(HashSet) HashSet 数学中的集合,元素间满足互异性.确定性.无序性 HashSet& ...
- Java进阶学习(1)之类与对象(下)
类与对象 函数与调用 函数是通过对象来调用的 this 是成员函数的特殊的固有的本地变量 它表达了调用这个函数的那个对象 调用函数 通过 . 运算符,调用某个对象的函数 在成员函数内部直接调用自己(t ...
- java学习4-面向对象(上)
1.类和对象 修饰符可以是public.final.abstract或者完全省略这三个修饰符 类名命名规则:每个单词首字母大写,其他字母全部小写,单词与单词之间不使用分隔符 修饰符:可以省略,也可以是 ...
随机推荐
- 随机数模块random_python
一.随机数模块random 1.常用的几个方法: import randomprint(random.random()) #(0,1)之间的随机数字,如0.6772275352932792print( ...
- Mike and strings
Mike has n strings s1, s2, ..., sn each consisting of lowercase English letters. In one move he can ...
- oneshot和周期性shot
计数器的使用,oneshot:时刻. 有误差,日.每一些间隔可以产生周期性shot(多个持续性时刻)
- .net 文件接口的封装,写日志,创建文件log
public class FileSupport { public static FileSupport Instance = new FileSupport(); public static str ...
- 【蓝桥杯/算法训练】Sticks 剪枝算法
剪枝算法 大概理解是通过分析问题,发现一些判断条件,避免不必要的搜索.通常应用在DFS 和 BFS 搜索算法中:剪枝策略就是寻找过滤条件,提前减少不必要的搜索路径. 问题描述 George took ...
- mysql之路4
MYSQL之约束 2.主键约束 349行cnname换成cname
- awk从放弃到入门(2):awk分隔符
一.awk分隔符 awk的默认分割符是空格,但是,这样描述并不精确,因为,awk的分隔符还分为两种,"输入分隔符" 和 "输出分隔符" . (1)输入分隔符:英 ...
- Python记:通用的序列操作之成员资格(听起来倒是有些抽象的!)
______________________________永远守护这一尘不染的真心! 要检查特定的值是否包含在序列中,可使用运算符in.它检查是否满足指定的条件,并返回相应的值:满足时返回True, ...
- GOM引擎脚本 时间段内调整人物属性
功能: 调整人物属性 格式: ChangeHumAbility 属性(1-20) 操作符(+ = -) 效果(1-65535) 时间秒说明: 属性1-12分别对应人物 防御下限 防御上限 魔御下限 魔 ...
- bootstrap中响应式表格失灵
当宽度小于768px,由于表格的内容不能填充到出现横向滚动条 单元格内容不够: 出现横向滚动条