JAVA学习笔记- - - day 2

article/2025/9/22 16:17:02

 💕前言:作者是一名正在学习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. 在类方法中返回实例化的对象


http://chatgpt.dhexx.cn/article/qIxP38QR.shtml

相关文章

JAVA学习笔记- - - day 1

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

Java学习笔记11

Object类是所有类、数组、枚举类的父类,是类层次结构的根类。每个类都使用Object作为超类。所有对象(包括 数组)都实现这个类的方法。 Object类实现了以下方法: 我们来看看在源码中registerNatives()方法: private st…

java 学习笔记之多参数传递

第一次写博客记录学习java遇到的问题,学习java学到方法的时候,在想见过c语言有类似多个参数传递的写法,java也应该有类似的写法,通过学习掌握的这种写法,如下 public class Test {public static void print(String ..…

韩顺平 零基础30天学会Java 学习笔记

学习记录 第一章 第二章 方法源码可以在jdk文件里面的src文件里面看。 注释: 1、多行注释里面不允许再加多行注释 2、javadoc文档注释 (/** * */) 3、javadoc -d 生成文档 4、类与方法要用javadoc文档注释 JDK,JRE,JVM关系 1、JDK JRE Java开发工具 2、JRE J…

java中预编译是啥意思_JAVA学习笔记预编译

JAVA学习笔记预编译 (2011-07-30 02:36:17) 标签: 杂谈 第顺次运行jsp时jsp将被改换成servlet(第顺次工夫较长,而尔后就会快许多) 搭配好的利用过程能够穿越设置jsp版面的URI照射,尔后只安装编译后的java类文件来告终安装(能够只将servlet类文…

Java学习笔记(一)

目录 一:java语言的发展史 二:java语言跨平台原理 三:JRE与JDK 四:JDK的下载和安装 五:常用DOS命令 六:path环境的配置 七:基础语法 一:java语言的发展史 1.1 java语言 …

Java学习笔记 --- IDEA

一、IDEA介绍 1、IDEA全称IntelliJ IDEA 2、在业界被公认为最好的Java开发工具 3、IDEA是JetBrains公司的产品,总部位于捷克的首都布拉格 4、除了支持Java开发,还支持HTML、CSS、PHP、MySQL、Python等 二、IDEA常用快捷键 1、删除当前行&#xff0…

Java 学习笔记(手写版)

Java 学习笔记(手写版) 文章目录 Java 学习笔记(手写版)变量控制流程包机制 & 用户交互 Scanner方法(函数) & 驼峰命名法递归 & 数组OOP & 构造器封装继承 (super & this)方法重写 静态方法 & 非静态方法…

Java学习笔记一

Java学习笔记一 1、Java语言的特点2、Java程序开发过程3、Java虚拟机JVM 学习方式: 书籍:《Java基础教程》 吴仁群 清华大学出版社 第1章:Java语言概述 1、Java语言的特点 一种面向对象且与平台无关的多线程动态语言 2、Java程序开发过程 文…

Java基础笔记(初学者适用)

目录 一、Java主函数解析 二、Java学习注意事项 三、JDK和JRE的区别 1、jdk--开发环境(核心) 2、jre--运行环境 3、JVM——转换环境 四、常见转义字符 五、变量 1.变量介绍 2.变量细节 3.作用域 4.数据类型 (1)Java数…

java学习笔记(详细)

java学习笔记 文章目录 java学习笔记1.基本的输入输出2.基本数据类型3.复合数据类型4.程序流程语句5.数组6.字符串7.面向对象* 类的基本知识* 封装性* 继承性* 多态性 1.基本的输入输出 java是纯面向对象的语言,连主函数都写在一个类中,java中没有指针ja…

Java学习笔记(完结)

java 快捷键 修改idea的快捷键的方法:点击file》setting》keymay,去里面搜索要改的东西,然后把原来的快捷键去除,键盘输入新的你要的快捷键,就可以啦;Ctrl d 删除本行;Ctrl alt 向下箭头 复…

Java基础知识笔记整理(零基础学Java)

文章目录 前言java语言特性java的编译与运行JDK、JRE、JVM字符编码数据类型数据类型取值范围数据类型默认转换 标识符命名方法数组一维数组二维数组数组排序算法数组查找算法数组工具类(Arrays) 逻辑运算符输入操作Java中的命名规则有符号数据表示法 面向…

图解LVS的工作原理

LVS详解 LVS简介LVS特点:LVS常见术语 LVS工作原理NAT模式DR模式内核参数详解arp_ignorearp_announce TUN工作模式full-nat模式 LVS调度算法介绍ipvsadm使用指南NAT和DR模式的实现NAT模式的实现DR模式的实现调度器配置WEB后端服务器配置实验测试 参考文献 LVS简介 I…

LVS集群

目录 一、集群和分布式 1.集群的含义 2.系统性能扩展方式 (1)Scale UP (2)Scale Out 3.集群的分类 (1)LB:( Load Balancing)负载均衡群集 (2&#…

LVS原理篇:LVS简介、结构、四种模式、十种算法

LVS原理篇:LVS简介、结构、四种模式、十种算法 LVS是Linux virtual server的缩写,为linux虚拟服务器,是一个虚拟的服务器集群系统。LVS简单工作原理为用户请求LVS VIP,LVS根据转发方式和算法,将请求转发给后端服务器&…

LVS负载均衡群集

目录 一、概述 1.群集的含义 2.问题 3.解决方法 二、分类 1.根据群集所针对的目标差异,可分为三种类型 2.负载均衡群集(Load Balance Cluster) 3.高可用群集(High Availability Cluster) 4.高性能运算群集(High Performance Computer Cluster) 三、负载均…

LVS详解与配置

一、LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,官方站点是:http://www.linuxvirtualserver.org。现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以…

选择正确的负载均衡器:LVS还是Nginx?

选择正确的负载均衡器:LVS还是Nginx? 博主简介一、前言二、什么是LVS?2.1、LVS的架构 三、什么是Nginx?3.1、Nginx 特性3.2、Nginx 架构 四、LVS和Nginx的区别五、总结 博主简介 💡一个热爱分享高性能服务器后台开发知…

搭建LVS负载均衡

keepalivedLVSNginxNetty接收数据并发送到Kafka 链接参考文档 LVSKeepalived项目 规划两台 LVS服务器,两台NGinx服务器,两台部署Netty程序服务器 组件节点地址主机名称虚拟ip/端口LVSkeepalived172.25.94.154-0007172.25.94.187LVSkeepalived172.25.9…