java编程思想 初始化_《java编程思想》---初始化和清理

构造器:

构造器去保证每个对象的初始化,在对象被初始化出来后,构造器自动被调用。

所有的对象都有构造器,如果不显示的创建构造器,系统会自动给你一个无参构造器

ClassName(){};

构造器的创建方法:

1.和类同名.

2.可以有参数

3.没有返回值

重载:

构造器重载应用,应用在对象不同的初始化方式。

重载的方法:

参数列表唯一性,可以改变顺序达到唯一性

this关键字:

代表当前对象的引用

使用方法:

1.非静态方法中使用

2.构造器中使用this

前提是在构造器中使用

在一个构造器中,当你给 this 一个参数列表时,它是另一层意思。它通过最直接的方式显式地调用匹配参数列表的构造器

3.静态方法是为类而创建的,不需要任何对象。事实上,这就是静态方法的主要目的,静态方法看起来就像全局方法一样,但是 Java 中不允许全局方法,一个类中的静态方法可以访问其他静态方法和静态属性

垃圾回收器:

垃圾回收器只知道回收new出来的对象

Finalize()方法,不是一种好方法,少用代价高。可以自己在finalize中写清除方法。

1.垃圾回收不等同于析构

2.对象可能不被垃圾回收

3.垃圾回收只与内存有关

牵扯到了本地调用。C的malloc和free

274f89612aefa8c2c3c82d80499b2c19.png

垃圾回收器通过重新排列对象,使堆内对象更紧凑,一边工作一边回收.实现了一种高速、有无限空间可分配的堆模型.

垃圾回收机制:

1.引用计数:简单但速度很慢。

2.自适应:停止-复制(找到存活对象,停止程序,复制活对象到另一个堆中,没有复制的当做垃圾处理。需要两个堆来回操作,维护开销大,要是没有辣鸡这个方法就不太好,用标记-清扫比较方便)

这块内容到JVM中再深究。

成员初始化:

对一个数据和对象,需要一个初始化值,否则会报错。

基本类型的成员变量会自动有一个初始值.

构造器初始化:

自动初始化,也就是定义基本类型或者new一个对象出来的时候会进行的自动初始化。

自动初始化会在构造器初始化之前

静态数据初始化:

静态不能用在局部变量中使用,只能作用于属性(字段/域)

初始化顺序是先静态后非静态

在加载静态时候,有时会串联起其他类的加载。

例如:

static Bowl bowl5 = new Bowl(5);

会串联起来bowl类的创建。

静态初始化只会在加载class时初始化一次

构造器会在静态初始化后执行

显示的静态初始化:

Static{

语句……

}

只会在类加载的时候执行一次,再次初始化的时候不再执行

非静态实例初始化:

语法:

{

语句….

}

用大括号把实例初始化的内容括起来,会在构造器之前执行。

因为这是非静态,所以保证在每次都会执行一次。

对于“匿名内部类”支持友好

数组初始化:

Int[] a1;

也可以int a1[];

Int[] a1={1,2,3,4,5} ;

Int[] a1= new int[20]

创建了一个非基本类型数组。如Integer类型的数组:

Integer[] a = new Integer(rand.nextInt(20))

需要赋值之后才算初始化完成

也可以用:

70907d55b8457acce7ee722ed7d7a5be.png

初始化非基本类型数组。

你甚至可以利用这种方法作为方法的参数传递出去

2c5bce9e7af9bb6c5054ae584da91cfb.png

可变参数列表:

之前的做法:

显示的编写数组语法.

bd7a6b5f04b78a779b75ee3eecde2629.png

在JAVA5后,添加了可变参数:

2bd74116da08c3179733c504f05d3ce1.png

不再需要显示的编写数组的语法,它根据参数的类型和个数进行判断,允许参数为0。

如果参数是基本数据元素,可变参数仍然会自动的把一堆元素转换到数组,如果元素已经是数组,不会执行转换。

枚举类型:

要点:switch中的结合

一般方法:

e5f5415ba035267bc46e4158cca28663.png

d472d8bcff26b606e49538e4c5787da9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值