java 重写快捷键_方法重写

方法重写

重写都是方法的重写,与属性无关

父类的引用可以指向子类,就是new一个子类的对象数据类型可以写为父类,new子类是可以指向父类的

重写的快捷键:Alt+insert

对静态方法调用的时候,调用的方法只和定义的参数类型有关,但对非静态方法调用的时候,调用的方法都是new了的对象的方法

静态方法和非静态方法的区别很大,不要随意去写静态方法

重写是对非静态方法的,没有静态方法的重写(目前死记)

子类重写了父类的方法,父类原来的那个方法就不能被调用了

注意:

重写需要有继承关系,子类重写父类的方法

方法名必须相同

参数列表必须相同

修饰符:范围可以扩大但不能缩小 public>protected>default>private

抛出的异常:范围可以缩小,但不能扩大:ClassNotFoundException -->Exception(大)

子类的方法和父类必须一致,但方法体不同

为什么要重写:

父类的功能子类不一定需要,或不一定满足

快捷键:Alt+insert:override

理解:

静态方法属于静态绑定,在编译阶段已经确定函数名和地址,静态方法当然是可以被继承的,但是却不能被重写,为什么那? 因为重写的意思是重新定义父类的虚函数,但是虚函数是动态绑定的,而静态方法是静态绑定的,所以静态函数必然不能是虚函数,也就不存在所说的重写了.你在子类中重新写一个同名的函数,覆盖了父类的同名函数,在使用子类指针进行调用的时候,调用的就是子类的这个静态方法

例如:

//父类

public class b {

public void test(){

System.out.println("b");

}

}

//子类

public class a extends b{

@Override //注解:有功能的注释

public void test() {

System.out.println("a");

}

}

//执行类

public class zhixing {

public static void main(String[] args) {

a a = new a();

a.test();//输出的就是a了,因为子类重写了父类,就相当于重新改写了父类,重写后就掉不到父类的那个方法了

}

}

内容来源于网络如有侵权请私信删除

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值