• 当创建子类对象时,首先执行超类构造 函数,然后执行子类的构造函数。例如:
30
class point{ // 程序4-8 int x, y; point(int x, int y){ this.x=x; this.y=y; System.out.println("父类构造函数被调用!"); }
} class circle extends point{
4.6 关键字this(续)
• this指代对象可以用于解决实例变量被局 部变量屏蔽的问题。 例如:
class point { int x , y; void init(int x, int y ){ this.x=x; this.y=y; }
}
22
4.6 关键字this (续)
• Java中的级连调用,仍是指代当前对象 的this。例如:
任何对象 : p1 = null ; • 每个对象都有自己的变量,改变一个对象的
实例变量并不影响到另外一个对象。例如:
8
class point { // 程序4-1 int x , y; void init(int a, int b ){ x=a; y=b;
} } public class twoPoint{
• 对象是由数据和方法紧密结合的一个封装 体,具有信息隐藏的能力。
• 对象可以通过方法(函数)与其它对象进 行通信,但并不知道这些方法的实现细节。
3
4.1.2 Java和C编程思想的区别
• C是结构化的编程语言,以函数为编程单 元,程序员把注意力集中在编写函数上。
• Java是面向对象的编程语言,以类为编程 单元,程序员的精力集中在对类的设计上。
• 方法重载的一个误区是靠返回值区别重 载,即定义多个方法,它们的名称和形 参类型完全相同,但返回值不同,这是 不允许的。