ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JAVASE复习(4)

2021-10-11 01:01:40  阅读:142  来源: 互联网

标签:Singleton java 复习 该包 首字母 JAVASE 设计模式 public


5 包及访问控制权限

5.1 包的定义

所谓的包实际上指的就是文件夹,在Java中使用package来定义包,此语句必须在首行

#打包编译
javac -d . Hello.java

#解释程序
java com.yootk.Hello

5.2 包的导入

Import语句进行导包操作

javac -d . *.java

如果发生同名类冲突,可以用包路径.类来解决

5.3 系统常见包

java.lang:该包提供了Java编程的基础类,例如 Object、Math、String、StringBuffer、System、Thread等,不使用该包就很难编写Java代码了。

java.util:该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。

java.io:该包通过文件系统、数据流和序列化提供系统的输入与输出。

java.net:该包提供实现网络应用与开发的类。

java.sql:该包提供了使用Java语言访问并处理存储在数据源(通常是一个关系型数据库)中的数据API。

java.awt:这两个包提供了GUI设计与开发的类。java.awt包提供了创建界面和绘制图形图像的所有类,而javax.swing包提供了一组“轻量级”的组件,尽量让这些组件在所有平台上的工作方式相同。

java.text:提供了与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。

5.4 jar命令

jdk已经为用户默认提供了生成jar包的jar.exe

5.5 访问控制程序

四种访问权限书本p289

private 仅在一个类中访问

default 只能在一个包中访问

protected 可以在不同包的子类中访问

public 所有都可以

5.5.1 protected

子类可以访问父类的protected属性

5.6 命名规范

类名称:每一个字母的开头首字母大写

变量名称:第一个单词的首字母小写,之后的每个单词的首字母大写

方法名称:第一个单词的首字母小学,之后的每个单词的首字母大写

常量名称:每个字母大写

包名称:所有字母小写

5.7 单例设计模式(Singleton)

private定义类的抽象方法,在类中用static方法返回一个唯一的对象,这样外部不管调用多少次,最终一个类能够产生唯一一个对象

通过代码理解一下:

package com.stduy.baozhuang;

public class TestDemo3 {
    public static void main(String[] args) {
        Singleton inst = null;
        inst = Singleton.getInstance();
        inst.print();
    }
}

class Singleton{
    //唯一的单例
    private static Singleton singleton = new Singleton();
    //private定义构造方法
    private Singleton(){
    }
    public void print(){
        System.out.println("hello world");
    }
    //取得本类对象
    public static Singleton getInstance(){
        return singleton;
    }
}

windows的回收站就是典型的单例设计模式,每个硬盘都有一个回收站,但其实整个操作系统上只有一个回收站实例,其他的“分身”都是引用那个唯一的实例

5.8 多例设计模式

定义出多个对象,但是应该只能使用有限的几个,就像定义一个表示一星期的操作类,能够调用的对象只应该有7个。

不管是单例设计模式还是多例设计模式,他们的核心都是构造方法私有化

标签:Singleton,java,复习,该包,首字母,JAVASE,设计模式,public
来源: https://www.cnblogs.com/aeqaqstudy/p/15391541.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有