本文主要是介绍java面向对象.day21(继承02--super),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
说明
super===父
this===当前
-
使用super时,首先要继承父类,其次是在子类里面才能使用super。
-
继承父类后,运行子类时会同时调用父类的构造方法,如果要显性调用父类的构造方法必须在子类的第一行调用。
-
单使用super()表示调用父类构造方法,单使用this()表示调用本身的构造方法。
-
父类具有有参的构造方法时,并且没有显性无参构造方法,那么子类要使用时必须直接调用父类的有参构造方法,
代码解释
//父类 //Java中,所行的类,都默认直接或者网接继承object//Person 人 :父类public class Person{//属性protected string name = "老贝";private string emal = "23411";//方法publiC void Text02(){System.out.println("老贝");}//如果方法是private那么子类无论如何都无法继承这个方法private void Text03(){System.out.println("老贝");}}
//子类 //子类维承了父类,就会拥有父类的全部方法! public class student extends Person {//属性private string name = "小红";//方法public void Text02(){System.out.println("小红");}public void test01(String name){System.out.println(name);//实际参数的值System.out.println(this.name);//当前name的值System.out.print1n(super.name);//父类name的值}public void test1(){print(); //小红this.print(); //小红super.print();//老贝 }
//使用 public class Application {public static void main(string[] args) {Student student = new Student();student.test01("小明");//输出:小明,小红,老贝student.text02();输出:小红,小红,老贝} }
注意点:
-
super调用父类的构造方法,必须在构造方法的第一个
-
super 必须只能出现在子类的方法或者构造方法中!
-
super和this不能同时调用构造方法!
-
父类里的属性或方法存在修饰符:private(私有的),则子类无法调用
super和this的区别
-
代表对象不同
-
this:本身调用者这个对象
-
super:代表父类对象的引用
-
-
前提不同
-
this:没有继承也能使用
-
super:必须继承才能使用
-
-
构造方法
-
this:本类的构造
-
super:父类的构造
-
这篇关于java面向对象.day21(继承02--super)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!