欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java基础——this构造器转发 & 实例块、静态块

程序员文章站 2022-03-14 08:34:06
...

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

This构造器转发:

两种用法:当前对象
this()构造器转发
1.这种格式只能写在构造器中
2.只能写在构造器的第一行代码

构造器转发:
每个构造器代表一个选择,可以选择一个参数或者多个,选择一个的话其他的参数都是默认,选择全部参数那就按照客户需求来传递想要的参数。

构造器接受参数,调用Student方法,传递参数。
目的:减少构造器的代码重复。

Java基础——this构造器转发 & 实例块、静态块
            
    
    博客分类: java  

例题:根据数据类型不一样,所转发的构造器也不一样。
执行过程:先执行main方法,new Test 空参数构造器,空参数构造器调用了int 类型的Test构造器,int参数构造器又调用了String类型的构造器。
所以先打印2,然后返回到int类型的构造器打印3,最后在返回到空参数构造器打印1. 打印结果:2 3 1

Java基础——this构造器转发 & 实例块、静态块
            
    
    博客分类: java  

实例块:

初始化代码,在new对象的时候执行,要比构造求早执行。
可以写很多个,执行时按照顺序执行的,在前面的先执行,后面的后执行。 实例块可以在方法上写,方法上写的就不能叫做实例块,就是分区。
创建对象,实例化过程:
1.创建对象开始初始化成员
2.先初始化属性成员,但是没有赋值
3.开始执行实例块,有序执行,从上至下的执行,碰到属性就开始赋值。
4.执行的构造器
5.对象构建完毕

实例块申请格式:实例块比构造器早执行。

Java基础——this构造器转发 & 实例块、静态块
            
    
    博客分类: java  

Java基础——this构造器转发 & 实例块、静态块
            
    
    博客分类: java  

注意:
图1:跟属性一起初始化,属性不可以写在打印的后面。-

Java基础——this构造器转发 & 实例块、静态块
            
    
    博客分类: java  

图2:属性放在前面就不会报错,赋值就可以附进去。

Java基础——this构造器转发 & 实例块、静态块
            
    
    博客分类: java  

实例块可以在方法上写,方法上写的就不能叫做实例块,就是分区。 两个int在不同的区域,所以相同的名字时可以的。

Java基础——this构造器转发 & 实例块、静态块
            
    
    博客分类: java  

静态块:

是类的初始化方法,在类加载的时候执行
也可以写很多个,执行时按顺序

类到底什么时候会被加载?
运行一个类时,不会将所有的类加载起来。(系统用到哪个类,就加载哪个)
用类声明变量是不会促使这个类加载起来。
只要使用了类中的静态成员就会促使类加载。
你如果访问它的静态常量时不会促使类加载的,因为静态常量和类时不在一个内存中的,它在常量内存中存储。
类只能被加载一次,不会加载两次。

Java基础——this构造器转发 & 实例块、静态块
            
    
    博客分类: java  

静态块申请方式:跟实例块一样,属性不可以写在后面。

Java基础——this构造器转发 & 实例块、静态块
            
    
    博客分类: java  

面向对象初级阶段:如何把现实生活的事物转换成对象?
面向对象高级阶段:如何使用面向将程序便的更加灵活。