关键字

2017-10-01  本文已影响6人  邹小月

this关键字

this强调对象本身,它表示当前对象,而当前对象就是指调用类中方法或属性的那个对象
下面我用两个例子来说明一下this关键字的作用:
没有this关键字的例子:

class person1{
    private String name;
    private int age;
    public void Person1(String name,int age){
        name = name;
        age = age;

    }
}
这个代码,我们在构造方法中声明了name参数和age参数,但是在形参中也定义了name和age,这时候就会出现问题,我们到底是将形参中的name赋给类中的属性name,还是将类中的属性name赋给形参中的name,接下来加上this关键字试试
class person1{
    private String name;
    private int age;
    public void Person1(String name,int age){
       this. name = name;
       this.age = age;
    }
}

此时this.name和this.age就分别代表类中的name和age,然后完成赋值操作的话,就可以知道是形参name和age赋给类中的属性name和age。

有一点需要注意,构造方法是在实例化一个对象时被自己调用的,也就是说在类的所有方法里,只有构造方法是被优先调用的,所以使用this调用的构造方法也必须只能放在类中。

static关键字

static关键字可以定义属性和方法,如果程序中用static方法来定义属性的话,此变量称为静态变量。用static修饰类的属性后,此属性就是公共属性了。
假如说程序有40个相同的对象,那么如果想修改其中一个属性,就得一个一个挨个修改,十分麻烦。如果将那个属性用static来修饰的话,那个属性就是公共属性了。举例说一下:

class Person{
    String name;
    static String city = "中国";
    int age;
    public Person(String name,int age){
        this.name = name;
        this.age = age;
    }
    public String talk(){
        return"我是:"+this.name+",今年"+this.age+"岁,来自"+city;
    }
}
public class StaticDemo2 {
    public static void main(String[] args){
        Person p1 = new Person("张三",20);
        Person p2 = new Person("张三",20);
        Person p3 = new Person("张三",20);
        System.out.println(p1.talk());
        System.out.println(p2.talk());
        System.out.println(p3.talk());

    }

}
运行结果

final关键字

final是Java中的终结器,在Java中final可以定义类,定义方法和定义变量。使用final关键字时要注意:

instanceof关键字

用instanceof判断一个类是否实现了某个接口,也可以判断一个实例化对象是否属于一个类。它的返回值为布尔型

上一篇 下一篇

猜你喜欢

热点阅读