package com.rgs;
/**
* super关键字:
* 1.可以修饰属性和方法
* 2.在子类的方法中,可以通过 super.属性 super.方法的方式,
* 显示的去调用父类提供的属性和方法。在通常情况下,super.可以省略不写
* 3.但在特殊情况下必须要写,
* 比如:
* 【1】:当子类的属性和父类重名时,想使用父类的属性就必须要使用 super.属性来进行调用
* 【2】:当子类的方法和父类重名时,想使用父类的方法就必须要使用 super.方法来进行调用
* super修饰构造器:
* 1.一般情况下,我们写的构造器前面都会有一个super();所以我们一般省略不写
* 2.如果构造器中有了我们自己声明的super();后,系统就不会再给你分配super();了
* 3.一个构造器中只能有一个super();或者this();因为他们都是需要放在首行滴
*/
public class Person {
String name;
int age = 10;
public Person() {
//super();
}
public Person(String name,int age){
}
public void eat(){
System.out.println("吃粑粑!");
}
public void sleep(){
System.out.println("想睡觉好累...");
}
}
package com.rgs;
public class Student extends Person{
int score;
int age = 20;
public Student(){
//super();
}
public Student(String s){
System.out.println("正在进行参数调用...");
}
public Student(String name,int age){
super(name, age);//必须放在首行
// this("s");必须放在首行,所以一个构造器中只能有他俩其中之一
this.name = name;
}
public void study(){
System.out.println("在学习中、、、");
}
public void a(){
System.out.println(age);//20
System.out.println(super.age);//10
super.eat();
eat();
}
public void eat(){
System.out.println("正在吃狗粮!");
}
}
package com.rgs;
public class Test {
public static void main(String[] args) {
Student s = new Student();
s.a();
}
}
super关键字
最新推荐文章于 2023-03-26 02:45:00 发布