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

本文介绍了Java中super关键字的使用,强调了在子类中调用父类的属性和方法时super的重要性。当子类有与父类同名属性或重写父类方法时,super不能省略,以明确区分父类和子类的成员。通过实例展示了super调用父类构造器、属性和方法的场景。
摘要由CSDN通过智能技术生成

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可省略
		super.eat();//此处super可省略
	}
	
}

什么情况下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 eat() {
		System.out.println("我想吃菠萝");
	}
	public void a() {
		System.out.println(super.age);//若要调用父类age属性则此处super不可省略
		super.eat();	}//因子类重写了父类eat方法,若要调用父类的eat方法则此处super不可省略
	
}

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值