自我整理基础知识,大佬勿喷。请多多指正,谢谢。
this:指向本类方法
super:指向父类方法
测试如下:
父类代码:
package com.example.client.controller;
public class Parent {
public static void par(String s) {
System.out.println(s);
}
Parent() {
par("父类--无参数构造方法");
}//无参构造
Parent(String name) {
par("父类--个参数的构造方法,参数名称" + name);
}//有参构造
}
子类代码:
package com.example.client.controller;
import org.junit.Test;
public class Son extends Parent {
Son() {
super(); // 调用父类无参数构造方法
par("子类--调用父类静态方法");
}
Son(String name) {
super(name);// 调用父类有参构造方法
par("子类--调用父类静态方法" + name);
}
Son(String name, int age) {
this(name);// 调用子类构造方法
par("子类:调用父类静态方法name、age" + age);
}
public static void main(String[] args) {
Son so = new Son();// 测试1
so = new Son("nan"); // 测试2
so = new Son("nan", 18); // 测试3
}
输出:
父类--无参数构造方法
子类--调用父类静态方法
父类--个参数的构造方法,参数名称nan
子类--调用父类静态方法nan
父类--个参数的构造方法,参数名称nan
子类--调用父类静态方法nan
子类:调用父类静态方法name、age18
总结:super首先调用父类的构造方法,this调用本类的方法
super与this的使用详解
本文深入探讨了Java中super和this关键字的使用方法。通过具体示例代码,详细解释了super如何调用父类构造方法,而this则用于调用本类方法。对比了在不同构造函数中调用这两个关键字的效果,帮助读者更好地理解它们的区别和应用场景。
395

被折叠的 条评论
为什么被折叠?



