Java基础6-this和super的区别

this和super的区别:

this代表本类对类的应用;

super代表父类存储空间的标识(可以理解为父类引用,可以操作父类成员)

class Father{

public int num=10;
}


class Son extends Father{
public int num=20;

public void show(){
int num=30;
System.out.println(num);
System.out.println(this.num);  //20
System.out.println(super.num);  //10
}

}

public class Demo1 {
public static void main(String[] args) {
Son son=new Son();
son.show();
}
}

打印内容:



使用:

1、调用成员变量

this.成员变量      调用本类的成员变量 

super.成员变量    调用父类的成员变量 


2、调用构造方法

this(...)       调用本类的构造方法

super(...)    调用父类的构造方法


3、调用成员方法

this.成员方法      调用本类的成员方法

super.成员方法   调用父类的成员方法


继承中构造方法的关系:

A、子类中所有的构造方法默认都会访问父类中空参数的构造方法

因为子类会继承父类中的数据,一定要完成父类数据的初始化

B、子类每一个构造方法的第一条语句默认都是super();


package com.windy.java;


class Father{
public Father(){
System.out.println("Father的无参构造方法");
}

public Father(String name){
System.out.println("Father的带参构造方法");
}
}


class Son extends Father{

public Son(){
//super();//默认就有
System.out.println("son的无参构造方法");
}

public Son(String name){
//super();//默认就有
System.out.println("son的带参构造方法");
}


}


public class Demo1 {
public static void main(String[] args) {
Son son=new Son();
System.out.println("--------------");
Son son2=new Son("Clare");
}
}


打印:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值