java之方法的重写部分

这两天去研究了《坦克大战》的源代码,然后断断续续懵懵懂懂,纠结了两天后,觉得还是基础没打好,继续努力学习吧,现在还不是浪的时候。。。

今天学习了java 子父类中的函数,片面的说,也就是继承类中的方法的重写。

之前学习过方法的重载,那是指相同形参函数的调用。

而方法的重写则不一样。必须要保证4点:

1.子父类函数名必须相同;

2.返回类型也必须是一样的;

3.形参也必须是一样的;

4.最关键的一点,子类函数的访问权限必须大于等于父类同名函数;

(访问权限修饰符: public>default>private,其中private私有化特殊些,因为若父类私有,子类即使public或default大于它, 也不可调用。

另外,default默认的意思,这个访问权限修饰符一般在没有public和private时,自动隐形存在。比如: void change(){} ,它的访问权限就是default,虽然没写出来)

public class Study{

public static void main(String[] args){

Man one=new Man();

Woman two=new Woman();

one.eat();//子类有eat函数的重写,故输出结果为  万万没想到男人一天要吃两斤大米

two.eat();//子类无eat函数,调用基类eat(),故输出结果为  人类都要吃饭

}

}

//以上为主函数,以下为创类函数

class Person{

String name;

void eat(){        // 无访问修饰符,则为默认default访问权限

System.out.println("人类都要吃饭");

}

}

class Man extends Person{

public void eat(){     

// 方法名,返回类型和父类同,且public>=default==true,构成方法的重写,此时也可不加public

name="万万没想到";     

  //方法内赋值父类变量不用加变量类型,因继承。若在外,则写String name="万万没想到";

System.out.println(name+"男人一天要吃2斤大米");  //eat函数方法的重写

}

}

class Woman extends Person{

}

另外:静态的函数只能重写(覆盖)静态的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值