• 访问属性

      • 封闭的访问属性

        • private等访问权限控制是对类的,这意味着同一类的不同对象可以互相访问其成员
        • 这是从代码层面去考虑的,意味着不同类文件
      • 开放的访问属性
        • 一个类文件就是一个编译单元
        • public class可以在不同包不同类进行访问
        • 没有任何访问控制权限的class只能在同一包里进行访问
    • 包
      • 包名的 . 代表文件夹系统中文件的层次
      • JVM自动生成的构造函数访问权限是Public
      • 例如com.mieba.servlet和com.mieba.dao
        • 文件夹层次为

          • src

            • com

              • mieba

                • servlet
                • dao
    • 类变量
      • 类变量

        • 属于类,不属于对象
        • 两种访问方式: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)之对象交互(下)的更多相关文章

  1. Java进阶学习:将文件上传到七牛云中

    Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...

  2. Java进阶学习:log4j的学习和使用

    Java进阶学习——log4j的学习和使用 简介Loj4j Log4j的组成 Log4j主要由三大组组件构成: Logger: 负责生成日志,并能够对日志信息进行分类筛选,通俗的讲就是决定什么日志信息 ...

  3. Java进阶学习(2)之对象交互(上)

    对象交互 对象交互 对象的识别 时钟小程序 把现实世界用对象去建模,去分解问题规模,最终抽象成对象和对象的模型 例如11:03的小程序,可以抽象成一个显示类,一个类生成两个对象去表示时钟 packag ...

  4. Java进阶学习(3)之对象容器(下)

    对象数组 对象数组中的每个元素都是对象的管理者而非对象本身 对象数组的for—each循环 集合容器(HashSet) HashSet 数学中的集合,元素间满足互异性.确定性.无序性 HashSet& ...

  5. Java进阶学习(1)之类与对象(下)

    类与对象 函数与调用 函数是通过对象来调用的 this 是成员函数的特殊的固有的本地变量 它表达了调用这个函数的那个对象 调用函数 通过 . 运算符,调用某个对象的函数 在成员函数内部直接调用自己(t ...

  6. Java进阶学习(4)之继承与多态(下)

    多态变量和向上造型 多态变量 子类和子类型 类定义了类型 子类定义了子类型 子类的对象可以被当作父类的对象来使用 赋值给父类的变量 传递给需要父类对象的函数 放进存放父类对象的容器里 多态变量 Jav ...

  7. Java进阶学习(3)之对象容器.小练习

    查找里程(10分) 题目内容: 下图为国内主要城市之间的公路里程: 你的程序要读入这样的一张表,然后,根据输入的两个城市的名称,给出这两个城市之间的里程. 注意:任何两个城市之间的里程都已经给出,不需 ...

  8. Java进阶学习(3)之对象容器(上)

    对象容器 顺序容器 记事本的例子 UI设计和业务逻辑要分离 接口设计 add(String note); getSize(); getNote(int index); removeNote(index ...

  9. Java进阶学习(1)之类与对象(上)

    package com.study; //自动售卖机 public class vmachine { private int price = 80; private int balance; priv ...

随机推荐

  1. Unable to load authentication plugin 'caching_sha2_password'

    Caused by: com.mysql.cj.core.exceptions.WrongArgumentException: Unable to load authentication plugin ...

  2. LED Decorative Light Supplier - LED Environmental Decorative Lighting Application

    Creating ambient lighting in the home can bridge the gap between the internal world and the outside ...

  3. 苹果cms10 官方QQ微信防红防封代码

     代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  4. 载 js验证密码 必须由大小写字母、数字和特殊字符组成

    转自:https://blog.csdn.net/weixin_43824935/article/details/93601064 密码长度8-16位 必须由大写字母,小写字母,数字,特殊符号组成 正 ...

  5. Educational Codeforces Round 81 (Rated for Div. 2) A-E简要题解

    链接:https://codeforces.com/contest/1295 A. Display The Number 贪心思路,尽可能放置更多位,如果n为奇数,消耗3去放置一个7,剩下的放1 AC ...

  6. 堆(Heap)和栈(Stack)

    详细可以查看这篇文章:https://www.cnblogs.com/qingtianMo/p/5255121.html 栈保存代码执行(调用)的路径,堆负责保存对象(数据) 栈相当于摞盒子,进入一个 ...

  7. springboot+jwt

    大概了解下SpringMVC和jwt,百度 代码: 1.整体框架 2.controller package com.yiyezhiqiu.jwt.jwt.controller; import com. ...

  8. 安装 Navicat for MySQL

    安装 Navicat for MySQL 下载地址:https://www.pcsoft.com.cn/soft/20832.html

  9. biquad filter实现

    原始频谱: LPF: HPF: 代码: #include<stdio.h> #include<stdlib.h> #include<errno.h> #includ ...

  10. 如和针对CPU时间百分比,Mem使用bytes,以及Network RecvBytes/SendBytes指标性能压测数据可视化

    设计思路:通过jmeter5.1压测获取cpu,Mem,Network的压测指标数据利用pandas+openpyxl进行数据可视化: 涉及添加jar包:下载地址:https://files.cnbl ...