【Java学习笔记】第五章 对象封装

构造函数

1、构造函数通常为公有。私有构造函数用于内部类或单例模式。

2、如果自己构造了带参的构造函数,java不会自动构建默认构造函数。需要自己手动构建不带参构造函数,增强代码灵活性。如运用反射构造对象,或便于调用父类构造方法。

3、不可根据函数返回结果作为重载依据,Integer和int(是否装箱)作为函数参数属于不同类型,可作为重载依据。在依据参数寻找对应的重载方法时按照,先不装箱、再装箱、最后不定长度参数的顺序寻找。依旧以Integer和int为例,按照int->Integer->不定长参数的顺序寻找。不过一般也不会同时使用装箱前后的参数作为区分重载方法的依据。

4、this()表示的构造函数,可带参可不带参,如果在另一个构造函数中调用,只可在第一行调用一次,否则报错。

5、如果类中有final类型的变量,并未对其进行手动赋值,则必须在构造函数中对其进行初始化。

static和final

1、static表示属于一个类,this表示属于当前对象,static的方法中只能调用当前类的static的方法和对象。

2、{}内的代码(在类中单独出现,没有函数名、参数、返回值),在对象构造后、构造函数执行前使用。如果这部分使用static修饰,那这部分动作就会在位码加载后执行。

3、import static 会增强代码的可读性和管理,但可能会导致名称冲突问题,如果引用的两个包中都有相同的方法时。在处理冲突时,编译程序按照如下的顺序

  • 局部变量:方法中的同名变量、参数、方法名
  • 成员变量:类中的同名变量、参数、方法名
  • 重载:使用重载逻辑判断(这里不太懂……)

4、final初始赋值后,不可改变,也不可通过构造函数赋值,否则会报错

不定长度自变量

不定长度自变量只能一个,且必须参数列最后一个。实际上布定长度自变量是编译程序蜜糖,通过反编译程序可以看出实际为数组,所以当需要多个不定长度自变量可以考虑使用数组。

内部类

这一章讲的太范,想好好了解还是要看一下系统的资料。内部类可以在类/方法的内部,也分protected、private、public。public内部类相当于多了个域名,需要依赖外部类创建,一般内部类可以使用其所在的外部类/方法中的成员变量。被static修饰的内部类只可以使用static的成员变量。

传值调用

如果是基础类型int等,就是值;如果是对象,传的是对象地址,如果想在方法返回后依然保留对对象的一些操作,不要在方法中重新new对象。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值