• Java 数组_方法_static关键字


    Java 数组_方法_static关键字


    活动地址:CSDN21天学习挑战赛

    java数组

    存储一批同种类型数据

    静态初始化数组
    数据类型[] 数组名 = new 数据类型[]{元素1, 元素2 , ...};
    int[] ages = new int[]{12,24,26};  // 和 C 语言有区别
    
    • 1
    • 2
    数据类型[] 数组名 ={元素1, 元素2 , ...};
    int[] ages = {12,24,26}; 
    
    • 1
    • 2

    数组是引用类型

    访问数组
    数组名[index];
    
    • 1

    获取数组长度

    array.length;
    
    • 1

    注意点

    • 数据类型[] 数组名 可以写成 数据类型 数组名[] --> 同C语言
    • 数组一旦定义后,长度和类型就已经确定了
    动态初始化数组

    定义时只确定类型和长度

    数据类型[] 数组名 = new 数据类型[长度];
    
    • 1

    元素默认值
    在这里插入图片描述

    两种初始化方式,不可以混用

    数组遍历
    for(int i = 0 ;i< array.length; i++ ){
        // array[i];
    }
    
    • 1
    • 2
    • 3

    java方法

    • 程序逻辑清晰
    • 代码的复用
    方法定义
    修饰符 返回值类型 方法名(形参列表){
    	// 方法体
    }
    
    • 1
    • 2
    • 3
    • 方法的编写顺序无所谓
    方法重载

    同名方法, 形参列表不同

    调用时,通过参数的不同来区分调用的方法

    通过形参不同实现功能差异化的选择

    修饰符,返回值类型不能作为重载的基础

    形参列表不同指的是:形参的个数类型顺序不同,不关心形参的名称

    static 关键字

    • 静态, 可以修饰成员变量,成员方法

    • 静态成员变量,静态方法

    • static 修饰后的成员变量, 被类的所有对象共享(访问和修改) --> 属于类,内存中只有一份

      类名.静态成员变量;
      对象.静态成员变量; --> 也可以
      
      • 1
      • 2
    • 静态成员方法,可以使用类名访问,可以使用对象访问

    • 实例成员方法,只能使用对象访问

    static 访问注意事项
    • 静态方法只能访问静态成员,不可以直接访问实例成员
    • 实例方法可以访问静态成员,也可以访问实例成员
    • 静态访问中不可以使用this关键字, this 代表的是对象
    工具类

    类中的静态方法,每个方法都是以完成一个公用的功能为目的。

    • 实例方法需要创建对象调用
    • 静态的工具类无需创建对象,就可以直接调用方法 --> 将工具类的构造器进行私有
    代码块

    类的5大成分: 成员变量,构造器,方法,代码块,内部类

    代码块定义在方法中

    使用{} 括起来的代码称为代码块

    • 静态代码块

      • 格式 : static{}

      • 需要通过static关键字修饰,随着类的加载而加载,并且自动触发、只执行一次

      • 在类加载的时候做一些静态数据初始化的操作,以便后续使用

        定义成员变量时不允许赋初值

      • 在启动系统时对静态资源进行初始化

    • 构造代码块

      • 格式: {}
      • 每次创建对象,调用构造器执行时,都会执行该代码块中的代码,并且在构造器执行前执行
    单例设计模式

    一个问题通常有n种解法的,但其中肯定有一种解法是最优的,这个最优的解法被人总结 出来了,称之为设计模式

    • 单例模式

      保证系统中,应用该模式的这个类永远只有一个实例,即一个类永远只能创建一个对象

    • 单例实现方式

      • 饿汉单例模式
      • 懒汉单例模式
    饿汉单例模式

    在用类获取对象的时候,对象已经提前为创建好

    步骤

    • 定义一个类,构造器私有

    • 定义一个静态变量,存储一个对象

      public class SingleInstance{
          // 静态变量存储一个对象:属于类,与类一起加载一次
          public static SingleInstace instance = new SingleInstance();
          // 私有构造器
          private SingleInstance(){
              // ...
          }
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
    懒汉单例模式

    真正需要该对象时,才去创建一个对象(延迟加载对象)

    步骤

    • 定义一个类,私有构造器

    • 定义一个静态变量存储对象

    • 提供一个返回单例对象的方法

      public class SingleInstance{
          // 静态变量存储一个对象:属于类,与类一起加载一次
          public static SingleInstace instance;
          // 私有构造器
          private SingleInstance(){
              // ...
          }
          
          // 提供一个一个方法返回一个单例对象
          public static SingleInstance getInstance(){
              ...
              return ...;
          }
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
  • 相关阅读:
    计算机三级信息安全技术九十道选择题
    Netlogo 之Extension 之 Table 扩展实现Map 键值对功能
    数商云供应链管理系统助力化工行业企业实现客户订单管理可视化
    javamd5加密解密
    Redis中缓存穿透、击穿、雪崩以及解决方案
    springbooy+求职招聘网站 毕业设计-附源码301914
    LeetCode每日一题:面试题 01.09. 字符串轮转 (简单)串匹配
    security跨域配置
    Qt之在QML中使用QSortFilterProxyModel进行排序和过滤
    C++类作用域
  • 原文地址:https://blog.csdn.net/first_bug/article/details/126277417