this
private void setName(String name){
this.name=name;
}
由上 成员变量与setName()方法中的形式参数的名称相同 都为name 在JAVA语言中规定使用this关键字来代表本类对象的引用,this关键字被隐式的用于引用对象的成员变量和方法 this.name
是成员变量 name
是指形参name
实际上 this引用的就是本类的一个对象 在局部变量或方法参数覆盖了成员变量时 就要添加this关键字明确引用的是类成员还是局部变量或者方法参数
this除了可以调用成员变量或者成员方法外 还可以作为方法的返回值
static
由static修饰的变量 常量 方法 称为 静态变量 常量 方法 统称为静态成员
静态成员属于类所有 区别于个别对象 可以本类或者其他类中使用类名.静态成员来调用
虽然静态成员也可以使用对象.静态成员
的形式进行调用 但是通常不建议这样使用 因为容易混淆静态成员和非静态成员
尽管使用静态成员比较方便 但是静态成员同样遵循public private protected修饰符的约束
静态方法中不可以使用this关键字
静态方法中不可以直接调用非静态方法
不能将方法中的局部变量声明为静态变量
在执行类时 可以使用static定义一个静态区域类先执行类的初始化动作
对象的销毁
{
Example e= new Example();
}
对象e超过其作用范围 将消亡
{
Example e= new Example();
e=null;
}
当对象被置为null值时 将消亡
垃圾回收机制只能回收那些由new操作符创建的对象 如果某些对象不是通过new操作符在内存中获取一块内存区域 这种对象可能不能被垃圾回收机制所识别 所以在JAVA中提供了一个finalize()
方法 这个方法是Object类的方法 它被声明为protected 用户可以在自己的类中定义这个方法 定义完成后 在垃圾回收时会首先调用该方法 在下一次垃圾回收动作发生时 才能真正回收被对象占用的内存