选择《java语言程序设计基础篇(原书第8版)》作为java学习的参考书。
因为语法方面跟c语言相差不大,所以对书的前面7章快速扫了一遍,直接进入第8章对象和类的学习,了解了类的一些基础概念,构造方法,实例方法,实例变量,静态方法,静态变量,类的可见性(用修饰符private,public,protected)
跳过第9章字符串和文本I/O
第10章关于对象的思考,this的使用,this可以用于在类的方法中,实现对类本身的调用,因为类中的方法可能会采用和类的变量相同的参数,比如某个类Circle表示园,有radius变量,Circle(double radius)有参构造方法,在Circle(double radius)中,由于传入参数名与类本身的变量radius冲突,因此radius在构造方法中是不可见的,则要采用this.radius=radius实现对类变量的调用。this 的另一个用法为无参构造方法中调用另外的构造方法。
采用数组实现了一个堆栈,堆栈的基本操作有push,pop,peek(查询栈顶的元素而不删除栈顶元素),用数组实现的堆栈,其容量在建立的时候已经决定了,不能随着元素的push和pop而相应的变化,在11章中采用ArrayList类实现的堆栈则不受此限制。
第11章继承和多态,子类是父类的扩展,子类从它的父类中继承可访问的数据域和方法,还可以添加新数据和方法。java不支持多父类继承,每个子类只有唯一的父类,但是可以通过接口来实现,这将在第14章中介绍。相对于this关键字,super关键字是用来调用父类的构造方法和父类的方法的,在每个子类的构造方法中,如果没有采用super关键字来调用父类的构造方法,则默认调用父类的无参构造方法。
某个方法的传入参数是父类,那么将该父类的子类传入该方法都是没有问题的。使用父类对象的地方都可以使用子类对象,这就是通常所说的多态。