0
点赞
收藏
分享

微信扫一扫

Java面向对象-super修饰属性、方法

四月天2021 2022-02-06 阅读 88

1、super指的是:父类

2、super可以修饰属性、方法

在子类的方法中,可以通过super.属性 super.方法 的方式,显示的去调用父类提供的属性和方法,在通常情况下,super省略不写

package com.pyk;
//子类
public class Student extends Person{
	double score;
	public void study() {
		System.out.println("我可以学习");
	}
	public void a() {
		System.out.println(super.age);
		super.eat();
	}
	
}

什么情况下super不能省略呢? 

当子类定义有与父类相同属性的时候,如果子类需要调用父类的属性,那么此时就不能省略

父类:

package com.pyk;
//父类
public class Person {
	int age=10;//父类中的age
	public void eat() {
		System.out.println("我喜欢吃饭。");
	}
}

子类:

package com.pyk;
//子类
public class Student extends Person{
	double score;
	int age=20;//子类中的age
	public void study() {
		System.out.println("我可以学习");
	}
	public void a() {
		System.out.println(super.age);
		super.eat();
	}
	
}

由于age前面加了super关键字,那么访问的则是父类中的age属性

同理:当子类中重写了父类方法时,如果子类需要调用父类方法,那么super就不能省略

举报

相关推荐

0 条评论