java中的this关键字
2851 点击·0 回帖
![]() | ![]() | |
![]() | java提供了this关键字,this关键字表示该类的对象的默认。 this关键字最大的作用是,让类的一个方法,访问该类的另一个方法或者属性。 先看一个不好的例子: public class Baby { public void wakeUp() { System.out.println("宝宝醒啦"); } public void eat() { Baby baby = new Baby(); baby.wakeUp(); System.out.println("吃东西"); } } 这样不符合逻辑。这就相当于本对象的eat方法,需要调用另一个对象的wakeUp方法。 我们看这个例子: public class Baby { public void wakeUp() { System.out.println("宝宝醒啦"); } public void eat() { this.wakeUp(); System.out.println("吃东西"); } } 这样就符合逻辑了。自己的eat方法,还需要自己的一个wakeUp方法。 java允许同一个对象的方法直接调用该对象的属性或者方法,所以this可以省略。 public class Baby { public void wakeUp() { System.out.println("宝宝醒啦"); } public void eat() { wakeUp(); System.out.println("吃东西"); } } 而在静态方法中无法使用this,因为类可以直接调用该方法,所以this无法指向合适的对象。 public class Baby { public void wakeUp() { System.out.println("宝宝醒啦"); } public static void eat() { // 报错 wakeUp(); System.out.println("吃东西"); } } 我们再来看一个最常用的例子,就是在构造方法中使用this public class Baby { private String name; private int age; public Baby(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } | |
![]() | ![]() |