---恢复内容开始---
12.5
12.5.1 void
当方法不需要返回值时,则可以使用void类型表明返回空类型值。
构造方法比较特殊,没有返回值,连void都不能有。如果构造方法有void,则它不再是构造方法而是普通成员方法。
12.5.2 this
super 代表父类
this 代表当前类本身
//Example1213.java //this的使用实例 public class Example1213 { public static void main(String[] args) { Test t = new Test(1,2); System.out.println(t.age); System.out.println(t.number); A a = new A(); System.out.println(a.age); System.out.println(a.number); } } class Test { int age,number; Test(int age, int number) { this.age = age; //形参age赋值给成员变量age this.number = number; //形参number赋值给成员变量number } } class A extends Test { int age,number; A() { super(3,4); this.age = super.age; //this指代子类本身 this.number = super.number; //this指代子类本身 } }
在构造函数中我们想用形参 age、number 给成员变量 age 和 number 赋值。
如何区分形参和成员变量呢?
age = age; //形参age赋值给成员变量age,这么写肯定不行,->this.age = age; number = number; //形参number赋值给成员变量number,这么写不对,->this.number = number;
12.5.3 null
null 表示将对象空间清空。如果需要再次使用该对象,则应使用new命令为其重新开辟空间。
//Example1214.java public class Example1214 { public static void main(String[] args) { Test t = new Test(); System.out.println(t.i); t.i++; t=null; //清空对象 t //System.out.println(t.i); //该语句运行的话会报错,因为对象t 不存在 t = new Test(); System.out.println(t.i); } } class Test { int i; Test() { i = 10; } }
//当t = null时,t 就没有空间了,也就没有成员变量,所以 t.i 无效