`
zsxzmxg
  • 浏览: 4713 次
社区版块
存档分类
最新评论

4.java成长之路——重读java编程思想04

阅读更多
  这篇文字来聊聊第五章和第六章的内容。
  第五章的内容是初始化和清理,先来聊聊对象的初始化,第一节是构造器的内容,构造器是我们创建对象的入口。所以作者说用构造器来确保初始化,构造器不能有返回类型且方法名必须和类名保持一致。如果我们没有显式的构造器,编译器会为我们提供一个默认的无参构造器。当我们new一个对象的时候,首先会初始化实例变量,然后再执行构造器。接下来作者为我们介绍了方法重载,我们先来介绍下方法签名,方法名和形参构成了方法签名,而重载就是方法名一样而形参不一样。当然构造器也是可以重载的,如果你为方法定义了一个构造器,那编译器就不会为类提供默认构造器了。然后介绍了this关键字,this关键字代表当前对象,在静态方法里是不能使用this关键字的,因为静态对象和方法是类加载的时候就已经初始化了,可以直接通过类名调用,此时还没有对象的,自然也不能用this,this的另外一个作用是可以在构造器中里面调用其他构造器,直接写this(args),必须放在构造方法的第一行,而且只能调用一次。然后作者介绍了static方法,就是类方法。可以通过类名和对象来访问静态方法。
   第五章的第五节作者介绍了垃圾清理的一下知识。java中不需要程序员来主动进行垃圾清理,java自带垃圾处理器。当一个对象没有活动对象指向它的引用的时候,那么这个对象就有可能被垃圾回收器处理。这里说可能是因为垃圾回收器的执行也是需要耗费资源的,只有当需要垃圾回收的时候它才会执行。然后作者介绍了finalize()的作用。finalize方法执行的原理是一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用finalize方法,并且在下一次垃圾回收的时候,才会真正回收对象占用的内存。
   第六节介绍了成员的初始化,基本数据类型在初始化的时候会有默认值,而引用类型则是null。局部变量java以编译时错误来保证。接下来作者介绍了构造器的初始化,以及静态变量的初始化,java的初始化顺序是先静态变量,然后实例变量,最后才是构造器。
   第八节介绍了数组的初始化及可变参数列表。其实可变参数列表在编译后也是用数组来表示的。接下来又介绍了枚举enum,枚举和switch很配哦。
   第六章介绍了访问权限的控制。首先介绍了package。然后介绍了private,包访问权限,protected,public。然后提到了接口和实现,接口的变量必须是static final的,所以一般在接口中不声明变量,而方法必须是static abstract的,这些修饰符一般可以省略,编译器会自动加上的。类只有public和包访问权限。封装就是把变量和方法包装进类里,并隐藏具体实现。其实就是通过访问权限和接口来实现的。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics