java关键字override_Java中重写(Override)与重载(Overload)

Java中还有两个相似的概念叫做重写与重载。

重写是在继承中发生的,被继承中的类的方法内容可能不是很符合要求,需要改变,所以在继承类中的那个类中重写该方法。重写的重点在于外壳不变,核心重写。就像市场上的山寨手机一样,外壳是一样的,功能输出是一样的,但是核心肯定是不一样的。Java官方关于重写的注意事项的说法是这样的:经过总结,鄙人的拙见是:重写必须是继承的类中方法重写被继承的类中的方法,被继承类中的构造方法除外。重写时方法包装外壳都不变,就是类似于public void method(……){}这层不动,里面的重写就好了,就像空城计里诸葛亮把里面的百姓都遣散了,只留一个空城壳,人家司马懿也一样认识那座城一样,我们把方法体全删了,程序也认外面那个方法壳。但是如果诸葛亮把城门换了,司马懿就不会那么纠结了吧。也就是说,如果方法外壳有改动,程序是会报错的。final是“不可改动”的意思,自然不能重写。static是静态的,能被再次声明。当父类和子类在同一个包中,private(私有的)和final不能被重写;不在一个类中时,public,protected(受保护的)和非final的可以被重写(虽然访问修饰符就那三个 )

下图为证:Java关键字

super关键字:当子类调用父类重写前的方法时,需要在子类重写的方法体第一句使用super关键字。

看一个例子:

方法的重载:方法的重载比方法的重写轻松太多啦,除了方法名啥都可以尽情改。

例:

重载和重写的关系如下

关于super关键字的补充代码:

package wuziqiV1;

import java.awt.Graphics;

import javax.swing.JFrame;

public class Mainframe extends JFrame implements qipan{

/*** @param argss*/

//继承JFrame调用相关方法,继承棋盘接口,方便改变值public static void main(String[] args) {

// TODO Auto-generated method stubMainframe mf=new Mainframe();

mf.setSize(900,900);

mf.setDefaultCloseOperation(3);

mf.setLocationRelativeTo(null);

mf.setVisible(true);

Graphics g=mf.getGraphics();

mf.paint(g);

DrawListener dl=new DrawListener(g);

mf.addMouseListener(dl);

}

public void chess(Graphics g){

for (int i = 0; i < Rows; i++) {

g.drawLine(x0, y0 + i * size, (Columns - 1) * size + x0, y0 + i

* size);

}

// 画棋盘竖线for (int j = 0; j < Columns; j++) {

g.drawLine(x0 + j * size, y0, x0 + j * size, (Rows - 1) * size + y0);

}

}

public void paint(Graphics g){

super.paint(g);//重绘chess(g);

}

}

接口

package wuziqiV1;

public interface qipan {

public static finalint x0=50;//表格左上角起点x值public static finalint y0=50;//表格左上角起点y值public static finalint Rows=16;//横向线条数public static finalint Columns=16;//纵向线条数public static finalint chesssize=40;//棋子直徑public static finalint size=50;//單元格大小}

运行结果

将页面最大化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值