JAVA学习笔记- - - day 2

news2025/7/19 13:32:18

 💕前言:作者是一名正在学习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://www.coloradmin.cn/o/36970.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

15.变量的存储类别

变量的存储类别 内存的分区 1.内存:物理内存,虚拟内存。 虚拟内存:操作系统虚拟出来的的内存。 操作系统会再物理内存和虚拟内存之间做映射。 在32位系统下,每个进程的寻址范围是4G:0x00 00 00 00 ~ 0xff ff ff ff …

XSStrike工具使用说明

今天继续给大家介绍渗透测试相关知识,本文主要内容是XSStrike工具使用说明。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权…

详解设计模式:工厂方法模式

工厂方法模式,又称工厂模式、多态工厂模式和虚拟构造器模式,通过工厂父类定义负责创建产品的公共接口,子类负责生产具体对象。可以理解为简单工程模式的升级,解决简单工厂模式的弊端。 ~ 本篇内容包括:关于…

CANdelaStudio-从入门到深入到实践目录

前文介绍诊断协议那些事儿专栏,为大家深入介绍了ISO 14229各个服务的基础知识、请求与响应的报文格式,详情可查看:诊断协议那些事儿,从本专题开始,将由浅入深的展开诊断实际开发与测试的数据库编辑,包含大量…

强化学习调度环境:析取图和离散事件仿真

获取更多资讯,赶快关注上面的公众号吧! 文章目录何为析取图和离散事件仿真模型析取图模型离散事件仿真模型强化学习环境调度环境基于析取图的调度环境基于离散事件仿真的调度环境总结近日有小伙伴在复现强化学习求解作业车间调度的文章代码问题时遇到一些…

Python01(安装环境以及开发工具PyCharm)

目录 一、环境下载&安装 二、开发工具下载&安装 一、环境下载&安装 1、Python环境安装包下载 官方网址:https://www.python.org/downloads/windows/ 选择一个安装包进行下载,建议不要下载最新的。 2、环境安装 双击下载好的环境安装包进…

Rational rose 2007 下载和安装教程

文章目录Rational rose 简介一,下载Rational rose 2007二,安装Rational rose 2007三,激活Rational Rose 2007四,启动Rational Rose 2007Rational rose 简介 Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化…

云原生系列 【基于CCE Kubernetes编排实战】

✅作者简介: CSDN内容合伙人,全栈领域新星创作者,阿里云专家博主,华为云享专家博主,掘金后端评审团成员 💕前言: 最近云原生领域热火朝天,那么云原生是什么?何为云原生&a…

基于交流潮流的电力系统多元件N-k故障模型研究(Matlab代码实现)【电力系统故障】

📋📋📋本文目录如下:⛳️⛳️⛳️ ​ 目录 1 概述 2 考虑多元件故障的交流潮流重要性度量(N-k) 3 考虑多元素故障的元素重要性度量 3 数学模型 1 概述 现代社会依赖于关键的基础设施系统,如电力…

【数据结构初阶】C语言从0到1实现希尔排序

🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【数据结构初阶】 ✒️✒️本篇内容:深入剖析希尔排序 🚢🚢作者简介:计算机海洋的新进船长一枚,…

SpringBoot中的AOP使用

文章目录SpringBoot中的AOP使用1.AOP介绍2. AOP 编程术语2.1切面(Aspect)2.2连接点(JoinPoint)2.3切入点(Pointcut)2.4目标对象(Target)2.5通知(Advice)3.切入…

【经济调度】基于蝙蝠算法实现电力系统经济调度附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

【Qt按钮基类】QAbstractButton[ 所有按钮基类 ]

【Qt按钮基类】QAbstractButton[ 所有按钮基类 ]Qt开启-》按钮基类 QAbstractButton一、setText (设置文本)二、text(获取文本)三、setIcon(设置图标)四、icon(获取图标)五、 iconSize (获取图标…

体系结构29_多处理机的互联网络

互连网络是将集中式系统或分布式系统中的结点连接起来所构成的网络,这些结点可能是处理器、存储模块或者其它设备,它们通过互连网络进行信息交换。在拓扑上,互连网络为输入和输出两组结点之间提供一组互连或映象(mapping&#xff…

通力科技通过注册:9个月营收3.4亿 项献忠家族色彩浓厚

雷递网 雷建平 11月25日浙江通力传动科技股份有限公司(简称:“通力科技”)日前通过注册,准备在深交所创业板上市。通力传动计划募资3.45亿元。其中,2亿元用于新增年产5万台工业减速机智能工厂技改项目,5041…

成为一名厉害的程序员,需要哪些必备知识

程序员在入职时,大部分互联网公司都会进行基础知识的考察,基础知识的重要性不言而喻。计算机基础知识对程序员来说很重要。计算机核心基础知识方面,算法、数据结构、组成原理、网络等涉及到的基础知识一定要彻底掌握,牢牢记住并融…

[附源码]java毕业设计智能视频推荐网站

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

3.90 OrCAD软件Annote命令下的每个选项的含义是什么?OrCAD软件Title Block中的原理图页数如何进行增加?

笔者电子信息专业硕士毕业,获得过多次电子设计大赛、大学生智能车、数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究。对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验&a…

【自学前端】HTML篇已完结(附14节视频)

I have a dream,Front end development will not require additional training. 目录 内容预览 通过这里找视频: 1、内容仍然有所欠缺 2、目前以0基础再实战为主 3、目前未包含面试题 4、下一步的计划 5、希望收到反馈 内容预览 △ 目前纯HTML篇课程已经完成…

【项目实战:核酸检测平台】第三章 利其器

第三章 利其器 摘要:俗话说的好工欲善其事,必先利其器,框架搭的好,开发起来很舒服,搭的不好,开发起来就很痛苦。 一个程序员只会写业务代码,最多算是个码农,搭框架的本事、遇到难题的解决能力…