Java进阶学习(2)之对象交互(下)
- 访问属性
- 封闭的访问属性
- private等访问权限控制是对类的,这意味着同一类的不同对象可以互相访问其成员
- 这是从代码层面去考虑的,意味着不同类文件
- 开放的访问属性
- 一个类文件就是一个编译单元
- public class可以在不同包不同类进行访问
- 没有任何访问控制权限的class只能在同一包里进行访问
- 封闭的访问属性
- 包
- 包名的 . 代表文件夹系统中文件的层次
- JVM自动生成的构造函数访问权限是Public
- 例如com.mieba.servlet和com.mieba.dao
- 文件夹层次为
- src
- com
- mieba
- servlet
- dao
- mieba
- com
- src
- 文件夹层次为
- 类变量
- 类变量
- 属于类,不属于对象
- 两种访问方式:class.变量 object.变量
- 类函数
- 类函数里只能访问类函数和类变量
- 类变量
- 测验和作业
- 有秒计时的数字时钟
package com.study; import java.util.Scanner; public class Main
{ public static void main(String[] args)
{
java.util.Scanner in = new java.util.Scanner(System.in);
Clock clock = new Clock(in.nextInt(), in.nextInt(), in.nextInt());
clock.tick();
System.out.println(clock.toString());
in.close();
} } class Display
{
private int value = 0;
private int limit = 0; public Display(int limit)
{
this.limit = limit;
} public int getValue()
{
return value;
} public void setValue(int value)
{
this.value = value;
} public void increase()
{
value++;
if (value == limit)
{
value = 0;
}
} } class Clock
{ private Display hour = new Display(24);
private Display minute = new Display(60);
private Display second = new Display(60); public Clock(int hour, int minute, int second)
{
if(hour<24&&minute<60&&second<60)
{
this.hour.setValue(hour);
this.minute.setValue(minute);
this.second.setValue(second);
}
else
{
System.out.println("输入有误,程序结束");
}
} public String toString()
{
String hour = String.format("%02d", this.hour.getValue());
String minute = String.format("%02d", this.minute.getValue());
String second = String.format("%02d", this.second.getValue());
return (hour+":"+minute+":"+second);
} public void tick()
{
second.increase();
if (second.getValue() == 0)
{
minute.increase();
if (minute.getValue() == 0)
{
hour.increase();
}
} } }运行结果
- 访问属性
Java进阶学习(2)之对象交互(下)的更多相关文章
- Java进阶学习:将文件上传到七牛云中
Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...
- Java进阶学习:log4j的学习和使用
Java进阶学习——log4j的学习和使用 简介Loj4j Log4j的组成 Log4j主要由三大组组件构成: Logger: 负责生成日志,并能够对日志信息进行分类筛选,通俗的讲就是决定什么日志信息 ...
- Java进阶学习(2)之对象交互(上)
对象交互 对象交互 对象的识别 时钟小程序 把现实世界用对象去建模,去分解问题规模,最终抽象成对象和对象的模型 例如11:03的小程序,可以抽象成一个显示类,一个类生成两个对象去表示时钟 packag ...
- Java进阶学习(3)之对象容器(下)
对象数组 对象数组中的每个元素都是对象的管理者而非对象本身 对象数组的for—each循环 集合容器(HashSet) HashSet 数学中的集合,元素间满足互异性.确定性.无序性 HashSet& ...
- Java进阶学习(1)之类与对象(下)
类与对象 函数与调用 函数是通过对象来调用的 this 是成员函数的特殊的固有的本地变量 它表达了调用这个函数的那个对象 调用函数 通过 . 运算符,调用某个对象的函数 在成员函数内部直接调用自己(t ...
- Java进阶学习(4)之继承与多态(下)
多态变量和向上造型 多态变量 子类和子类型 类定义了类型 子类定义了子类型 子类的对象可以被当作父类的对象来使用 赋值给父类的变量 传递给需要父类对象的函数 放进存放父类对象的容器里 多态变量 Jav ...
- Java进阶学习(3)之对象容器.小练习
查找里程(10分) 题目内容: 下图为国内主要城市之间的公路里程: 你的程序要读入这样的一张表,然后,根据输入的两个城市的名称,给出这两个城市之间的里程. 注意:任何两个城市之间的里程都已经给出,不需 ...
- Java进阶学习(3)之对象容器(上)
对象容器 顺序容器 记事本的例子 UI设计和业务逻辑要分离 接口设计 add(String note); getSize(); getNote(int index); removeNote(index ...
- Java进阶学习(1)之类与对象(上)
package com.study; //自动售卖机 public class vmachine { private int price = 80; private int balance; priv ...
随机推荐
- scp知识点
小伙伴的博客(详细): https://www.cnblogs.com/ppp204-is-a-VC/p/11673567.html
- [CF705B] Spider Man - 博弈论
[CF705B] Description ICG 游戏有若干个环,每次操作将一个环断成非空的两部分,节点数总和不变.集合初态为空,每次向集合中添加一个环,询问当前集合用于游戏的胜负. \(n \le ...
- C语言注释符号
同学们认为注释很简单,那我来看看下面的代码是否正确? 1.似是而非的问题 int main() { int/*...*/i; char* s = "abcdefgh //hijklmn&qu ...
- too old
The working copy at “” is too old (format 10) to work with client version ‘1.9.7(r18000392)’ 原因:svn版 ...
- 第一次刷leetcode小结
LeetCode 上不会的 Reverse Integer Gray Code Generate Parentheses Pascal's Triangle II 正方向读和反方向读保持不变的区别 T ...
- python使用临时文件
# 需求 # 某项目中,我们从传感器中采集数据,没采集1G数据后,做数据分析,最终只保存分析结果 # 这样很大的临时文件如果常驻在内存,将消耗大量地内存资源,我们可以使用临时文件储存(外部储存) # ...
- goto语句的本质
除非跳出多个循环嵌套和远程注入技术,否则尽量少用goto goto会降低程序的可读性,让代码难以调试 利用递归也可以实现循环结构和do while类似 #define _CRT_SECURE_NO_W ...
- flume--exec源
创建a2.conf文件并且编写 Sources 类型是exec 配置文件如下 启动集群 启动flume 产生临时文件 ...tmp 关闭临时文件 再次写入文本,会再次产生一个临时文件.截图左边是一个内 ...
- istio部署-istio prometheus
参考 fleeto/sleep fleeto/flaskapp 1. 使用 Prometheus 1.1 访问 Prometheus 1.1.1 端口转发 Prometheus 服务默认启用. # o ...
- 初识eclipse-java
开始时会有工程的地址需要设置,最好将程序放在一个单独的文件夹中 有时候会用到外部的驱动程序,如excel等,就需要导入jar包 具体的请看下篇博客.