java中this和super关键字

本文深入探讨了Java编程中的this和super关键字。this关键字用于在类的成员方法和构造方法中引用当前对象,实现成员变量和方法的调用。super关键字则用于在子类中调用父类的构造方法、成员变量和方法。通过实例展示了this和super的使用方法,包括在构造方法中的调用和在成员方法中的应用。理解并熟练运用这两个关键字对于Java程序员来说至关重要。
摘要由CSDN通过智能技术生成

1、this关键字

  • this()

    代表本类中的构造方法中调用另一个构造方法

    必须放在构造方法的第一句,不能出现两个

    为什么要调用其他的构造方法

    ​ 为了复用其他的构造方法

  • this.

    表示当前对象

    可以在本类的方法,构造方法 中使用

  • this关键字的三种用法

    1. 在本类的成员方法中访问本类的成员变量
    2. 在本来的成员方法中,访问本来的另一个成员方法
    3. 在本类的构造方法中,访问另一个构造方法

2、super关键字

  • super()

    代表本类中父类的构造方法,也只能写在第一句

    父类的构造方法,会在子类中默认调用父类的构造方法

    表达当前类的父对象

    在本来中的构造方法和实例方法中使用

  • super.

    表示当前对象的父对象

    可以在子类的方法,子类构造方法中使用

  • super关键字的用法

    1. 在子类的成员方法中,访问父类的成员变量
    2. 在子类的成员方法中访问父类的成员方法
    3. 在子类的构造方法中访问父类的构造方法
    4. super关键字访问父类的内容
package jicheng;

public class Phone {

//    public Phone(){
//        System.out.println("父类的无参构造方法");
//    }

    int num = 10;

    public void methodFu(){
        System.out.println("父类的成员方法");
    }

    public Phone(int num){
        System.out.println("父类的有参构造方法");
    }

}
package jicheng;

public class Newphone extends Phone {

    int num = 20;


    //通过子类的构造方法来用super获取父类的构造方法
    public Newphone(int num) {
        super(num);
    }
    //通过子类的成员方法来用super获取父类的成员变量num;

    public  void methodNum(){
        System.out.println(super.num);
    }

    //通过子类的成员方法,来用super获取父类的成员方法
    public void methodFun(){
        super.methodFu();
    }
}

3、this与Super的区别?

相同点:

  • super{},和 this()都必须放在构造函数的第一句,super()和this()不能出现在同一个构造函数中
  • this 和 super 都是操作对象00

不同点:

  • super()是对父类构造方法额调用,this()是对本类重载的构造方法调用,
  • super()是在 不同类中使用,this()是在同一个类中使用,
  • this 调用本类的成员变量和成员方法,如果本类中没有就从父类中继续查找,super是访问的是父类的变量和方法,
  • this 表示当前对象,super表示父类对象
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值