标签:java 子类 小白学 Student println 父类 super public
Super详解
Super关键词
- super学习时要与this区别开更好理解
- 在子类内部调用父类的属性和方法是通过super关键词来实现的!
//子类
package com.yuecheng.oop.Demo05;
//学生也是人(子类,派生类): 学生 is 人;
//子类继承父类,就会继承父类所有的方法
//注意:private(私有方法或属性) 私有的东西是无法继承的
public class Student extends Person{
//快捷键ctrl + h 打开树
public Student() {
// 这里隐藏了代码,调用了父类的无参构造
super();//调用父类构造器必须在子类的第一行
//上方的代码是默认的不写也行,这里只是知道原理
System.out.println("子类的无参构造执行了");
}
private String name = "婉茹";
public void print(){
System.out.println("Student");
}
public void test1( ){
print();//输出Student
this.print();//Student
super.print();//Person
}
public void test(String name){
System.out.println(name);//输出李白
System.out.println(this.name);//婉茹
System.out.println(super.name);//玥骋
}
}
package com.yuecheng.oop.Demo05;
//父类
public class Person {
public Person() {
System.out.println("父类Person无参构造执行了");
}
protected String name="玥骋";
public void print(){
System.out.println("Person");
}
}
package com.yuecheng.oop;
import com.yuecheng.oop.Demo05.Student;
public class Application {
public static void main(String[] args) {
Student student = new Student();
//student.test("李白");
student.test1();
}
}
注意点
- 父类中私有的部分无法通过 super继承
- super调用父类的构造方法,必须在构造方法的第一个。
- super必须也只能出现在子类的方法或者构造方法中。
- super和this 不能同时调用构造方法。
VS this
- 代表的对象不同:
- this:本身调用这这个对象。
- super:代表父类对象的引用。
- 前提
- this:没有呀继承也可以使用。
- super:只能在继承条件时才可以使用。
- 构造方法
- this ()调用的 是本类的构造。
- super(0调用的是父类的构造。
标签:java,子类,小白学,Student,println,父类,super,public 来源: https://blog.csdn.net/weixin_50659410/article/details/116614192
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。