教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 Java中继承、重载、覆盖一些总结

Java中继承、重载、覆盖一些总结

发布时间:2016-11-30   编辑:jiaochengji.com
教程集为您提供Java中继承、重载、覆盖一些总结等资源,欢迎您收藏本站,我们将为您提供最新的Java中继承、重载、覆盖一些总结资源
本文章来给各位同学详细介绍关于Java中继承、重载、覆盖小结,希望本文章对各位同学会有所帮助哦。


1、继承:利用extends关键字直接继承一个类。

当Sub类和Base类在同一个包时Sub类继承Base类中的public/protected/默认级别的变量和方法

在不同包时继承public/protected级别的变量和方法。

2、重载:如果有两个方法的名称相同,但参数不一致,这样一个方法是另一个方法的重载。

方法名相同

方法的参数类型,个数顺序至少有一项不同

3、覆盖:如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法。

子类的方法名称返回类型及参数签名 必须与父类的一致

子类方法不能缩小父类方法的访问权限

子类方法不能抛出比父类方法更多的异常

如果在子类的构造函数中并没有使用显式的调用父类的构造函数(使用super),则会执行父类的无参构造函数

实例

Java代码

<span>

  <SPAN>

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy7523')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy7523>

class Super {

  static int stat = 1;

  int nonStat = 2;

  static int statMethod(){

  return 3;

  }

  int nonStatMethod(){

  return 4;

  }

  }

  public class Sub extends Super {

  static int stat = 10;

  int nonStat = 20;

  static int statMethod(){

  return 30;

  }

  int nonStatMethod(){

  return 40;

  }

  public static void main(String[] args) {

  Super s = new Sub();

  System.out.println("Static is " s.stat);

  System.out.println("Non-Static is " s.nonStat);

  System.out.println("Static method is " s.statMethod() );

  System.out.println("Non-Static method is " s.nonStatMethod() );

  Sub sub = (Sub)s;

  System.out.println("Static is " sub.stat);

  System.out.println("Non-Static is " sub.nonStat);

  System.out.println("Static method is " sub.statMethod() );

  System.out.println("Non-Static method is " sub.nonStatMethod() );

  }

  }   </SPAN>

  输出结果:

  <SPAN> Static is 1

  Non-Static is 2

  Static method is 3

  Non-Static method is 40

  Static is 10

  Non-Static is 20

  Static method is 30

  Non-Static method is 40

</span>

您可能感兴趣的文章:
Java中继承、重载、覆盖一些总结
浅谈PHP面向对象的继承
php 继承详解
Cocos2d-JS中JavaScript继承
golang 面试题(四)go的组合继承
你了解python中的继承吗
java基础-java面向对象编程二
重载(overload)、覆盖(override)、隐藏(hide)介绍与区别
Javascript 设计模式读书笔记(三)——继承
Java笔记三:继承(inheritance)

[关闭]
~ ~