开发技能JavaJava 基础包和访问权限+单例
  • 包的概念
    • 包的本质就是一系列嵌套的文件夹
    • 在程序中的体现:org.lanqiao.pet.entity (公司域名的反写+项目+功能,全部小写。)
  • 包的作用
    • 整理代码
    • 区分同名类
    • 进行权限控制
  • 常见用包
    • java.util 工具类 (java.util.Scanner)
    • java.io io操作
    • java.net 网络开发
    • java.lang 默认包 java.lang.String / java.lang.Math
  • 包的关键字
    • package : 描述当前类所处的包的名称。
    • import :引入其他包中的类。本包中的类不需要引用。
  • 权限修饰符Java 中一共有四种访问权限控制,其权限控制的大小情况是这样的:public > protected > default(包访问权限) > private ,具体的权限控制看下面表格,列所指定的类是否有权限允许访问行的权限控制下的内容:
访问权限同类同包的类子类非子类的外包类
public
protected
default
private
  • static静态
    • 属性 -> 类属性
    • 方法 -> 类方法
    • 块 -> 静态块:静态属性初始化操作。
    • 工具类 | 单例模式(static)
    • 调用时机:类加载的时候,初始化类属性和类方法。
    • static 只加载一次,常驻内存(属性,方法,静态块)
    • 成员,初始化块执行多次
    • 非static可以用static,static不能用非static
  • 单例模式有以下特点:
    1. 单例类只能有一个实例。
    2. 单例类必须自己创建自己的唯一实例。
    3. 单例类必须给所有其他对象提供这一实例。
单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。单例模式可以分为懒汉式和饿汉式等多种形式。

饿汉式:不论是否需要都创建对象。

懒汉式:需要时创建,不需要不创建。

饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以天生是线程安全的。

//饿汉式单例类.在类初始化时,已经自行实例化 
public class Singleton {
    private Singleton() {}
    private static Singleton single = new Singleton();
    //静态工厂方法 
    public static Singleton getInstance() {
        return single;
    }
}
//懒汉式单例类.在第一次调用的时候实例化自己 
public class Singleton {
    private Singleton() {}
    private static Singleton single = null;
    //静态工厂方法 
    public static Singleton getInstance() {
         if (single == null) {  
             single = new Singleton();
         }  
        return single;
    }
}
Built with LogoFlowershow