java中的继承,super,重写。

=========继承=========

继承格式:public class zi extends fu{}

zi类可以继承fu类的非私有(private)属性,方法,构造方法。

当然zi可以使用fu的get/set方法。

当zi实例化(创建对象)后可以调用fu类的非私有(private)的属性,方法,构造方法。

==========super=========

首先我们知道this.可以访问本类的属性,一般用在set方法,而super和this相似,super.可以访问父类的属性。

比如:

//设置父类属性
public void setName(String name){
    super.name = name;
}
//设置子类属性
public void setName(String name){
    this.name = name;
}

不过还是建议直接在父类写set方法。

那么如何访问父类的方法呢?操作如下:

语法:super.方法();

这个语法只能在非static方法里存在。

而this.也只能在非static方法里存在。

首先在父类和子类创建一个同名的FU方法(无static)。

然后我们在zi类创建一个Dome方法(无static)。

下面是Dome的代码:

public void Dome(){
        this.FU();
        super.FU();
    }

一个是调用zi类的FU方法。

一个是调用fu类的FU方法。

第三个super语法:super();

这种语法只在zi类的构造方法存在。

super();是用来调用fu类的构造方法。

不过就算你不写,它也会自动调用fu类的无参构造方法。

如果fu类没有无参构造方法,在zi类地无参构造方法就会报错。

所以fu类最好还是创建一个无参构造方法为好。

还有一种解决方案,就是在zi类的构造方法里手动写一个super(带参);

==========重写===========

重写还要认识一个修饰词:

@Override

它可以帮我们检查重写是否正确。

不过在IDEA中我们在zi类写fu类的方法名在按Enter就会自动帮我们重写。IDEA会自动帮我们用super.方法();帮我们调用。重写就想复制粘贴一样,@Override可以帮我们检查重新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想做游戏的小白

打赏我了,那就认真学java吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值