JAVA学习笔记- - - day 2

这篇具有很好参考价值的文章主要介绍了JAVA学习笔记- - - day 2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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 数组类型[整数] [整数];

JAVA学习笔记- - - day 2,JAVA学习笔记,学习

方法的重载(重点)

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

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

this关键字(重点)

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

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

构造器(重点)

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

构造器本身是一个方法:

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

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

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

语法:

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

}

默认构造器

权限修饰符 类名(){

}

有参构造器

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

}

注意点:

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

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

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

static关键字(重点)

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

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

特点:

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

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

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

JAVA学习笔记- - - day 2,JAVA学习笔记,学习

方法上(静态方法)

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

方法体

[return 结果]

}

static修饰的方法就是类方法

JAVA学习笔记- - - day 2,JAVA学习笔记,学习

注意点:

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. 在类方法中返回实例化的对象文章来源地址https://www.toymoban.com/news/detail-540087.html

到了这里,关于JAVA学习笔记- - - day 2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java学习笔记-day06-响应式编程Reactor与Callback、CompletableFuture三种形式异步编码对比

    Reactor 是一个基于Reactive Streams规范的响应式编程框架。它提供了一组用于构建异步、事件驱动、响应式应用程序的工具和库。Reactor 的核心是 Flux (表示一个包含零到多个元素的异步序列)和 Mono 表示一个包含零或一个元素的异步序列)。 Reactor 通过提供响应式的操作符,如

    2024年02月03日
    浏览(41)
  • LiangGaRy-学习笔记-Day21

    1、LVM介绍 1.1、LVM是什么 对于生产环境下的服务器来说,如果存储数据的分区磁盘空间不足,应该如何处理? 添加一块硬盘–可以满足需要 再添加一块硬盘也可以满足需求; 问题就是拷贝的速度慢; 这里就引入一个技术:LVM在线动态扩容 raid:支持冗余和安全–支持速度

    2024年02月08日
    浏览(40)
  • LiangGaRy-学习笔记-Day19

    1、回顾知识 1.1、文件系统说明 xfs与ext4文件系统 CentOS7以上:默认的就是XFS文件系统 xfs 使用的就是restore、dump等工具 CentOS6默认的就是ext4文件系统 extundelete工具就是用于ext4系统 1.2、回顾Linux文件系统 Linux文件系统是由三个部分组成 inode 文件名 block块 Linux:文件系统类型 ex

    2024年02月08日
    浏览(43)
  • LiangGaRy-学习笔记-Day15

    1、编写脚本 1.1、拓展:shell脚本语法 case语句: 主要用于做选择的; 多条件、多分支结构; case语句注意事项 case行尾必须以单词“in”,每一模式必须以单个右括号\\\")\\\"结束 双分号\\\";;\\\"表示命令序列的结束 模式字符串中,可以用方括号表示一个连续的范围,如\\\"[0-9]\\\";还可以使

    2024年02月07日
    浏览(41)
  • unity学习笔记--day01

    今天学习制作了一个简单的抽卡功能,学习结束后目录结构如下: .mate文件是unity生成的配置文件,不用管 创建一个空物体,改名为Card。 在Card下挂载以下UI组件: 编写数据脚本并挂载,unity采用c#作为脚本语言。 3-1. 首先定义一个卡牌类,定义卡牌上通用的属性 3-2. 定义一个

    2024年02月12日
    浏览(41)
  • Day 15 python学习笔记

    用print打印对象时,会自动调用 面向对象的三大特征:封装、继承、多态(有的人认为抽象也是) 在面向对象中,认为定义在类中的属性外界可以更改是不安全的,封装指一种安全机制,不让外界直接修改或操作属性,因此,将属性私有化(封装),不让外界访问,如果要访

    2024年02月07日
    浏览(41)
  • 【JavaGuide学习笔记】Day.1

    目录 Java基础常见面试题(上) 1.JDK?JRE?JVM? 2.为什么说Java语言是“编译与解释并存”? 3.Java基本数据类型 4.基本类型和包装类型的区别 5.包装类型的缓存机制 6.自动装箱与拆箱了解吗?原理是什么? 7.为什么浮点数运算的时候会有精度丢失的风险? 8.如何解决浮点数运算

    2024年02月09日
    浏览(35)
  • 【学习笔记】自学Unity Day02

    前言:主要想记录下自己自学的过程、期间遇见的问题、不同版本需要调整的地方,方便以后复习能及时找到对应的部分;同时也希望给想要入门游戏开发、学习unity的各位一些经验,减少一些弯路 学习资料目前主要依靠 unity 官网,我的想法是先根据官方的游戏套件能够做出

    2024年04月17日
    浏览(25)
  • JavaScript 学习笔记(Day5)

    「写在前面」 本文为 b 站黑马程序员 pink 老师 JavaScript 教程的学习笔记。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。推荐先按顺序阅读往期内容: 1. JavaScript 学习笔记(Day1) 2. JavaScript 学习笔记(Day2) 3. JavaScript 学习笔记(Day3) 4. JavaScript

    2024年01月19日
    浏览(46)
  • LiangGaRy_学习笔记_Day04

    1、学习方法分享 课程的前半部分:–作用就是打基础的; 后半部分才是核心:重点掌握–斩获高薪 课前讲解作业: 基础作业:echo命令的使用 优化:进阶: 有可能需要用到课程也也以外的知识点; 百度、Google等等辅助 学习记忆法则: 死记硬背: 谐音法则 重复法则 把难

    2023年04月23日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包