java中的继承

    程序与生活是息息相关的,在生活中的关系和对象,我们在计算

机中用编程语言来描述。继承这个概念与生活中的子承父业是一样的

道理。例如树是一个父类,松树,白杨等等都继承了它成为它的子类


     继承的关键字是extends,格式为:
public class 类名(子类类名) extends 类名(父类类名)
子类继承了父类的所有属性和方法,但是能调用的只是public和

protected,private不能调用。不在一个包下只能调用public的属性

和方法。
    例如我们通常使用的JFrame,我们要建一个窗口,就得先继承

java给我们提供的JFrame,这样我们就不用定义具体如何创建窗口,

直接调用它的方法就可以,这真是一个省时省力省脑的好办法。
    继承了父类,我们常常还要加上一些自己的东西,在父类原先的

方法中改变或者添加一些东西,这就叫做方法重写。
    调用方法的格式为:
访问修饰符(public,protected) 返回值类型 方法名(参数){方法


}
    注意重写的时候返回值类型和方法名不能改变,只有访问修饰符

可以从小范围改成大范围,即可将protected改成public,也可不改。

private是没有办法重写的,因为子类无法调用父类的private方法。
举一个方法重写的例子,例如我们现在要在窗口上画画,但是窗体上

是不允许直接画的,要么在上面加一个面板JPanel,然后再Jpanel上

画,要么进行方法重绘。窗体本身就有一个方法paint用来绘制所有它

上面的东西,而我们现在只需要调用这个方法,注意重绘的时候返回

值类型,参数都不能改变,能改变的只是方法体。所以我们将我们要

加上的东西写在方法体中。特别要注意应该最开始的时候实现一下父

类中的方法,因为一旦重写之后,程序运行时调用了子类中重写的方

法,父类中的就不会再用。程序如下
public void paint(Graphics g){

super.paint(g)//调用父类中的方法
g.drawLine(100,100,200,200)//在窗体上画一条横线,

  //(100,100)是起始坐标,(

  //200,200)是结束坐标

}

   注意这是我们创建的窗体继承JFrame之后的才能进行的操作,不继承

的话是没有paint这个方法的。


你可能感兴趣的:(java,编程)