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 ...
随机推荐
- 环境配置 | mac环境变量文件.bash_profile相关
每次环境配置都费老劲,零零碎碎的知识就记在这里 文件:~/.bash_profile
- vscode+vue 一些基本操作
1.安装好 vscode 和 node.js 安装node.js是为了用npm(管理项目依赖) 2.调出终端 crtl +~ , 3.终端全局安装 vue-cli 安装整个脚手架,能快速给我们构建v ...
- LED Holiday Light - Holiday Lighting Maintenance Guide
If you are experiencing problems with LED holiday lighting, the following guides will provide advice ...
- [HAOI2016] 找相同字符 - 后缀数组,单调栈
[HAOI2016] 找相同字符 Description 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数.两个方案不同当且仅当这两个子串中有一个位置不同. \(n,m \l ...
- linux安装Zookeeper及redis集群
亲测有效: 1.linux下安装zookeeper:https://www.cnblogs.com/zuolun2017/p/8186254.html 2.linux下安装redis集群:https: ...
- 在多租户(容器)数据库中如何创建PDB:方法5 DBCA远程克隆PDB
基于版本:19c (12.2.0.3) AskScuti 创建方法:DBCA静默远程克隆PDB.将 CDB1 中的 PDB1 克隆为 CDB2 中的 ERP2 对应路径:Creating a PDB ...
- 【转载】Hibernate映射文件详解
转自:http://blog.163.com/hzd_love/blog/static/13199988120108265317988/ Hibernate的持久化类和关系数据库之间的映射通常是用一个 ...
- DOM盒模型和位置 client offset scroll 和滚动的关系
DOM盒模型和位置 client offset scroll 和滚动的关系 概览 在dom里面有几个描述盒子位置信息的值, pading border margin width height clie ...
- Apache Kafka(二)- Kakfa 安装与启动
安装并启动Kafka 1.下载最新版Kafka(当前为kafka_2.12-2.3.0)并解压: > wget http://mirror.bit.edu.cn/apache/kafka/2.3 ...
- 通过jquery将多选框变单选框
多选框的name值为checkboxlist是复选框选中后更换其他复选框状态. function queryListByParam(e){ $("input[name='checkboxli ...