super调用的是父类中的参数 而this则是优先调用子类中的参数
//super 调用的是父类即下面输出的是父类中的name 即是程婷婷
System.out.println(super.name+"老师正在教Java"+" 年龄"+age);
public void JavaTeacher() {
//默认情况下单独的使用对象的属性时都隐藏了this
//this优先调用的是子类中的参数也就是下面输出的是子类中参数 name 婷婷
System.out.println(name+"老师正在教Java"+" 年龄"+age);
===========================================
class ManyTeacher {
String name="程婷婷";
int age=22;
public void sleep() {
System.out.println("老师正在睡觉");
}
}
class JavaTeacher extends ManyTeacher{
String name="婷婷";
int age=22;
public.out.println("Java老师正在睡觉")
public void JavaTeacher() {
//默认情况下单独的使用对象的属性时都隐藏了this
//this优先调用的是子类中的参数也就是下面输出的是子类中参数 name 婷婷
System.out.println(name+"老师正在教Java"+" 年龄"+age);
//super 调用的是父类即下面输出的是父类中的name 即是程婷婷
System.out.println(super.name+"老师正在教Java"+" 年龄"+age);
this.sleep();
super.sleep();
}
}
class Teacher{
public static void main(String [] args) {
JavaTeacher jc=new JavaTeacher();
jc.JavaTeacher();
jc.sleep();
婷婷老师正在教Java 年龄22
程婷婷老师正在教Java 年龄22
Java老师正在睡觉
老师正在睡觉
Java老师正在睡觉
}
}
class ManyTeacher {
String name="程婷婷";
int age=22;
public void sleep() {
System.out.println("老师正在睡觉");
}
}
class JavaTeacher extends ManyTeacher{
String name="婷婷";
int age=22;
/*
public void sleep() {
System.out.println("Java老师正在睡觉");
}
*/
public void JavaTeacher() {
//默认情况下单独的使用对象的属性时都隐藏了this
//this优先调用的是子类中的参数也就是下面输出的是子类中参数 name 婷婷
System.out.println(name+"老师正在教Java"+" 年龄"+age);
//super 调用的是父类即下面输出的是父类中的name 即是程婷婷
System.out.println(super.name+"老师正在教Java"+" 年龄"+age);
this.sleep();
super.sleep();
}
}
class Teacher{
public static void main(String [] args) {
JavaTeacher jc=new JavaTeacher();
jc.JavaTeacher();
jc.sleep();
}
}
婷婷老师正在教Java 年龄22
程婷婷老师正在教Java 年龄22
老师正在睡觉
老师正在睡觉
老师正在睡觉