[ 原创 ] Java基础1--Java中super和this的用法和区别
许多同学在学习Java时分不清楚this和super的用法和区别,今天偶然发现一片加精的博文,看完内容准备自己也写下来积累一下
1.如果想在子类的构造方法中调用父类的构造方法,必须在子类的构造方法中使用super();且必须将其放在首句
public class L1106Demo06 { public static void main(String[] args) { lake M=new lake(); } } /*super方法的用法1. * 在子类的构造方法中若果要想要调用父类的构造方法则用super(); * * */ class river{ public river(){ System.out.println("Hello"); } } class lake extends river{ public lake(){ super(); System.out.println("My name is YangMenghui"); } }
2.Java中 如果碰到子类和父类中的成员(变量 ,方法)的名字相同,但子类中的成员的优先级更高,所以子类中的成员就隐藏了父类中的成员,如果想要使用父类中的成员,就必须使用super();
public class L1106Demo007 { public static void main(String[] args) { kid M=new kid(); M.value(); } /*super方法2 * Java中 如果碰到子类和父类中的成员(变量 ,方法)的名字相同,但子类中的成员的优先级 * 更高,所以子类中的成员就隐藏了父类中的成员,如果想要使用父类中的成员,就必须使用super(); * */ } class human{ String name; void value(){ name="杨萌晖"; } } class kid extends human{ String name; void value(){ name="你是天才"; super.value();//利用super调用父类中的value方法 System.out.println(super.name); System.out.println(name); } }