代码中代码块的认识
1.认识代码块
1.1. 字段的初始化方式
1》就地初始化
2》 使用构造方法初始化
3.》使用代码块初始化
1.2 什么是代码块
使用 {} 定义的一段代码
1.3 代码块分类
1.3.1 普通代码块:定义在方法中的代码块
1.3.2 构造代码块(也叫实例代码块)
与方法平齐,定义在类中的代码块(不加修饰符)。构造代码块一般用于初始化实例成员变量
但是不能初始化静态成员变量
1.3.3 静态代码块
与方法平齐,前用static修饰
静态代码块的优先级又高于实例代码块优先级
注意:
静态代码块不管生成多少个对象,其只会执行一次,且是最先执行的。
1.3.4. 代码块执行优先顺序
静态代码块>实例代码块>构造函数
2. toString方法
有些时候类通过一个方法向外展示太过麻烦,此时我们可以调用toString方法对外进行展示
如果不重写toString方法,会自动调用Object类的toString方法,会有如下结果
结果如下
生成了一个地址的哈希码,但是没有体现出对外数据的展示能力,我们用toString方法进行重写
我们仅仅添加了toString的重写方法,下来我们看看打印的结果是否达到预期目的
从上我们看到,通过toString方法的重写,我们完美的对外进行了展示,得到了预期目的
注意事项:
toString 方法会在 println 的时候被自动调用.
将对象转成字符串这样的操作我们称为 序列化.
toString 是 Object 类提供的方法, 我们自己创建的 Person 类默认继承自 Object 类, 可以重写 toString 方法实
现我们自己版本的转换字符串方法. (关于继承和重写这样的概念, 我们后面会重点介绍).
@Override 在 Java 中称为 “注解”, 此处的 @Override 表示下面实现的 toString 方法是重写了父类的方法. 关于
注解后面的课程会详细介绍.
IDEA快速生成Object的toString方法快捷键:alt+f12(insert)
3.匿名对象
匿名只是表示没有名字的对象.
没有引用的对象称为匿名对象.
匿名对象只能在创建对象时使用.
如果一个对象只是用一次, 后面不需要用了, 可以考虑使用匿名对象
可以不需要具体完成类的实例化步骤,仅仅new过之后直接使用,使用一次就可以