• JAVA学习笔记- - - day 2


     💕前言:作者是一名正在学习JAVA的初学者,每天分享自己的学习笔记,希望能和大家一起进步成长💕

    目录

     💕前言:作者是一名正在学习JAVA的初学者,每天分享自己的学习笔记,希望能和大家一起进步成长💕

    封装(重点)

    数组

    一维数组(重点)

    二维数组

    方法的重载(重点)

    this关键字(重点)

    构造器(重点)

    默认构造器

    有参构造器

    static关键字(重点)

    属性上(静态属性/变量)

    方法上(静态方法)

    静态代码块

    设计模式(重点)

    单例

    封装(重点)

    目的:提高数据的安全性,通过封装,可以实现对属性访问权限的控制,同时增加了程序的可维护性。

    封装: 将属性私有化,使用private关键字修饰属性,这种属性只有当前类才能访问。

    我们一般给每一个私有属性提供公共public的get和set这种方法供外界来访问我们的私有属性

    public 修饰符的作用范围:

    private 作用范围

    protected 的作用范围

    default 的作用范围:

    用一个类同一个包不同的包非子类不同包的子类
    private可以访问不可以访问不可以访问不可以访问
    public可以访问可以访问可以访问可以访问
    protected可以访问可以访问不可以访问可以访问
    default可以访问可以访问不可以访问不可以访问

    数组

    一维数组(重点)

    说明: 数组的索引是从0开始的

    语法:

    第一种: 数据类型[] 数组变量名 = new 数据类型[整数]; (整数为数组的长度)

    第二种: 数据类型[] 数组变量名 = {值1,值2,值3};( 数组的长度是根据初始化决定的)

    第三种: 数据类型[] 数组变量名 = new 数组类型[]{值1,值2,值3,值4};

    二维数组

    说明:二维数组就是集合套集合

    语法: 数据类型 数组变量名 = new 数组类型[整数] [整数];

    方法的重载(重点)

    定义: 在同一个类中,方法的名字一样,参数列表不一样(包括参数类型)的两个方法是重载关系,跟返回值没有关系。

    目的: 为了节约方法的功能命名和提高代码的可读性。

    this关键字(重点)

    this只能在对象方法内使用(重要)

    对于类的对象来说,属性是每个对象都有一份的,是数据隔离的,但是方法是多个对象共享的。不同对象调用这个方法的时候,是用this来区分不同对象的数据,this是可以隐藏的。

    构造器(重点)

    用于创建对象的方法,固定格式,给对象赋初始值。

    构造器本身是一个方法:

    1.没有返回值,也没有void

    2.构造器的方法名必须和类名一致

    3.在方法中定义要初始的参数列表

    语法:

    权限修饰符 类名(数据类型 参数名.....){

    }

    默认构造器

    权限修饰符 类名(){

    }

    有参构造器

    权限修饰符 类名(数据类型 参数名.....){

    }

    注意点:

    1.如果一个类存在有参数的构造器,那么默认的构造器就会被覆盖,如果想要使用默认的构造器,那么需要显示的定义。

    2.同一个类中的构造器可以相互调用,需要通过this()来调用。this()该构造器的第一行。

    3.在构造器中调用其他构造器,不会创建对象,只初始化。

    static关键字(重点)

    属性上(静态属性/变量)

    加上static的属性是类属性,静态属性/全局属性

    特点:

    1.static修饰的类属性的访问可以通过 : 类名.类属性 还可以通过对象来访问

    2.static修饰的类属性在当前的class文件加载到jvm的时候就被初始化

    3.当jvm销毁了这个类,那么这个类的static属性也销毁

    方法上(静态方法)

    语法: public static (返回值) 方法名(数据类型 变量,数据类型 变量){

    方法体

    [return 结果]

    }

    static修饰的方法就是类方法

    注意点:

    1.类方法初始化很早,类被jvm加载后,就初始化了类方法。而普通的方法(对象的方法)也加载进入了jvm,但是要等到对象被实例化后,这个方法才能被使用。

    2. 普通方法中访问该属性时,隐藏了this,如果没有实例化,这个this就不存在。

    3. static修饰的方法不能访问没有static修饰的类属性,即类方法不能访问对象非static修饰的属性,也不能调用非static修饰的方法,对象方法(非static修饰的方法)可以调用类方法。

    4. 对象方法可以访问类的所有属性和方法

    静态代码块

    语法: class A{

    //静态代码块

    static{

    }

    }

    1.静态代码块主要是用于初始化资源

    2.静态代码块在main之前执行

    设计模式(重点)

    单例

    说明:这种模式只产生一个对象(只有一个实例)

    应用场景: windows资源管理器,java数据库中的连接池,网站的计数器,一般也是采用单例模式实现,否则难以同步。

    步骤:

    1. 私有化构造参数

    2. 定义一个类方法用于获得单例的对象

    3. 在类中提供一个这个类类型的类属性(要用static修饰)

    4. 在类方法中返回实例化的对象

  • 相关阅读:
    ​分享mfc140u.dll丢失的解决方法,针对原因解决mfc140u.dll丢失的问题
    哈工大李治军老师操作系统笔记【6】:CPU管理的直观想法(Learning OS Concepts By Coding Them !)
    数据、结构、数据结构之间的关系
    Flink之状态管理
    [持续更新]计算机经典面试题基础篇Day1
    Python安装与环境变量配置傻瓜式教程(2023年9月)
    MMLAB系列:MMCLS基本操作
    Linux动态Web服务器(Tomcat)
    我服了,SpringBoot升级后这服务我一个星期都没跑起来(上)
    Mac传文件到云服务器
  • 原文地址:https://blog.csdn.net/m0_71956038/article/details/128049771