this和super关键字(this和super关键字的特点)

  本篇文章为你整理了this和super关键字(this和super关键字的特点)的详细内容,包含有this和super关键字的区别 this和super关键字的特点 this和super关键字都可以访问成员属性 this和super关键字的原理和功能 this和super关键字,希望能帮助你了解 this和super关键字。

  构造方法是创建java对象的重要途经,通过new关键字调用构造器时,构造器返回该类对象,但是该对象并不完全由构造器创建。

  创建对象分为四步:

  分配对象空间,将对象成员变量初始化为0或null;

  执行属性值显式初始化;

  执行构造方法;

  返回对象地址给相关变量

  因为在调用构造方法前,对象已被创建,所以this可以在构造方法中充当当前对象

  

public construct(int id, String name){

 

   this.id = id;

   this.name = name;

  

 

  举个例子,分析一下创建对象的过程

  

class Person {

 

   int age;

   String sex;

   public Person(int age, String sex) {

   this.age = age;

   this.sex = sex;

  public class Demo {

   public static void main(String[] args) {

   Person person = new Person(22 ,"boy");

  

 

  
 

  this可以调用重载的构造方法

  

class Person {

 

   int age;

   String sex;

   String name;

   public Person(int age, String sex) {

   this.age = age;

   this.sex = sex;

   public Person(int age,String sex,String name){

   this(age,sex); //this()访问其他构造方法

   this.name = name;

  

 

  this可以用于构造方法中代表当前对象;

  this也可以调用重载的构造方法,但是必须位于构造方法第一句;

  this不能用与static方法中

  super关键字

  
访问父类的构造函数:可以使用 super() 函数访问父类的构造函数,从而委托父类完成一些初始化的工作。应该注意到,子类一定会调用父类的构造函数来完成初始化工作,默认调用父类的无参构造函数,如果子类需要调用父类其它构造函数,那么就可以使用 super() 函数,但是必须位于构造方法第一句。(所以在构造器中this和super不能共存,只能用一个)

  
访问父类的成员:如果子类重写了父类的某个方法,可以通过使用 super 关键字来引用父类的方法实现。

  
从本类属性开始访问,本类有并且可以访问则访问;没有从父类中查找,父类有并且可以访问则访问;如果父类没有则继续向上找直到Object类

  直接从父类中开始查找,直到Object类

  
调用本类方法,本类如果没有此方法或则不能访问,则从父类中调用,以此类推,直到Object类

  直接调用父类方法,直到Object类

  以上就是this和super关键字(this和super关键字的特点)的详细内容,想要了解更多 this和super关键字的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: