Java super和this关键字的总结

知识点总结 : Java super和this关键字的总结
7.2.4 小总结
其实子类的构造方法中隐含了super()调用,如果子类的构造方法没有写super(),编译器会帮我们默认加上去。子类就变成
public class Zi extends Fu { //子类的无参构造方法
public Zi(){
super(); //注意!这句必须写在第一行的位置,如果父类构造函数有参数,就是super(参数),有 参数的调用,必须要自己写上去,不然会默认调用无参构造 System.out.println(“子类构造方法执行”);
} }
public class Demo07Main { public static void main(String[] args) { Zi zi = new Zi(); zi.methodZi(); } } /*输出结果: 父类的成员方法执行 子类的成员方法执行 */
8. super关键字的2种用法总结
8.1 用法1:在子类的成员方法中,访问父类的成员变量,比如:
8.1.1 父类
public class Fu {
public int num = 10; }
8.1.2 子类
public class Zi extends Fu {
public int num = 20;
public void methodZi(){ // System.out.println(num); 这样打印的一定是本类的num System.out.println(super.num); //打印的是父类的num } }
8.2 用法2
在子类的成员方法中,访问父类的成员方法,比如:
8.2.1 父类
public class Fu { public void methodFu(){ System.out.println(“父类的成员方法执行”); } }
8.2.2 子类
public class Zi extends Fu{ public void methodZi(){ super.methodFu(); //访问父类的methodFu()方法 System.out.println(“子类的成员方法执行”); } }
在main中执行子类的方法

  1. this关键字的三种用法
    9.1 概述
    9.1.1 在本类的成员方法中,访问本类的成员变量
    9.1.2 在本类的成员方法中,访问本类的另一个成员方法
    9.1.3 在本类的构造方法中,访问本类的另一个构造方法
    9.2 代码说明一下
    public class Zi extends Fu {
    private int num = 10;
    public Zi(){
    this(123); //9.1.3 在本类的无参构造中调用有参构造 }
    public Zi(int num){
    this.num = num; }
    public void methodZi(){
    System.out.println(this.num); //9.1.1 在本类的成员方法中,访问本类的成员变量 }
    public void methodA(){
    System.out.println(“A方法”); }
    public void methodB(){
    this.methodA(); //9.1.2 在本类的成员方法中,访问本类的另一个成员方法 System.out.println(“B方法”)
    }
    9.3 注意事项
  • 在构造方法中调用this,那这个this调用必须是该函数中的第一个语句,也是唯一的一个
  • suer和this两种在构造调用中,不能同时使用。两个都要排在第一行,我哪知道该怎么排。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值