辅导课程六
方法的重载(overload) TestOverload/Test.java TestOverload/TestOverload.java 方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。 调用时,会根据不同的参数表选择对应的方法。 参数不同是指:参数个数不同、参数的数据类型不同、参数的数据类型排列顺序不同。 只有返回值不同,不构成重载。 TestOverload/Test.java 例如:在 Person 类中添加如下方法: void info() { System.out.println("my id is : " + id); } void info(String t) { System.out.println(t + " " + id + " " + age); TestOverload/TestOverload.java //运行如下程序 public static void main(String[] args) { Person p = new Person(); p.info(); p.info("ok"); }
构造方法的重载 xxx 与普通方法一样,构造方法也可以重载 例如:修改 Person 类的构造方法如下 Person() { id = 0; age = 20; } Person(int _age) { age = _age; Person(int _id, int _age){ id = _id; TestOverload/TestConstructorOverload.java 程序中分别用三种构造方法创建了三个 person 对象,内存如下图所示: 100 25 xxx p3 23 p2 20 p1 heap
复习:对象的创建和使用 必须使用 new 关键字创建对象。 使用对象引用.成员变量来引用对象的成员变量。 使用对象引用.方法(参数列表)来调用对象的方法。 同一类的每个对象有不同的成员变量存储空间。 同一类的每个对象共享该类的方法。 每个类的方法在内存中只有一份拷贝 非静态方法是针对每个对象进行调用
(1)阅读程序TestCircle.java,练习分析程序内存执行过程。 课 堂 练 习 课堂练习 (1)阅读程序TestCircle.java,练习分析程序内存执行过程。 (2)为上述Circle类添加一个方法,计算一个点(Point对象)是否在圆(Circle对象)内,并写程序验证。 TestCircle/TestCircle.java