this、super、static 红太狼 2022-06-18 01:23 169阅读 0赞 Java提供this关键字,它是对象的默认引用。this关键字总是指向调用该方法的对象。通常this引用有下面2种情形:1. 构造器中引用该构造器指向初始化的对象;2. 在方法中引用调用该方法的对象。this关键字的最大的作用就是,让类中一个方法,访问该类的另外一个方法或属性。 this可以代表任何对象,当this出现在某个方法体时,它所代表的对象是不确定的,但是它的类型是确定的,就是所在的当前类的类型;只用当这个方法被调用时他所代表的对象才被确定下来:哪个实例调用这个方法,this就代表哪个对象。在大多数情况下,一个方法访问同一个实例的另外的一个方法或属性,可以不写上this关键字,直接调用就行了。 对于static修饰的方法而言,则可以直接使用类来调用该方法,如果在static修饰的方法中使用this关键字,则此关键字就无法指向合适的对象,以为this一定要指向实例。所以static修饰的方法中不能使用this引用。由于,static修饰的方法不能使用this引用,所以static修饰的方法不能访问没有使用static修饰的方法或属性。即静态成员不能直接访问非静态成员。 如果需要在子类方法中调用父类中被子类覆盖了的实例方法,可以使用super作为调用者,调用父类中被覆盖了的方法。跟this关键字不能出现在static修饰的方法体一样,super也不能出项在static修饰的方法体中。super关键字一般是出现在子类方法中的第一行代码。
还没有评论,来说两句吧...