继承中属性的隐藏和方法的覆盖
      java中规定,子类用于隐藏的变量可以和父类的访问权限不同,如果访问权限被改变,则以子类的权限为准
      java中允许子类的变量与父类变量的类型完全不同,以修改后的数据类型为准java允许父类的变量被子类的常量隐藏,也允许父类的常量被子类的变量隐藏
      java允许用实例成员变量来隐藏静态成员变量,也允许用静态成员变量来隐藏实例成员变量
覆盖
覆盖必须满足两个条件:1、方法名称必须相同 2、方法的参数必须完全相同,包括参数个数、类型、顺序
      1、访问权限不相同的情况:子类方法的访问权限可以与父类不同,但只允许权限更宽松,而不允许更严格
      2、返回值数据类型不同的情况:覆盖与被覆盖的方法的返回值数据类型必须完全相同
      3、final修饰符不同的情况:
      4、静态修饰符不同的情况:不允许出现父类方法和子类方法覆盖时的static修饰符发生变化
构造方法在覆盖时,只能是访问权限不同,只允许访问权限更宽松。java还规定,子类中无论哪个构造方法在执行时,都会先执行父类中无参数的构造方法
super只能在子类中使用,用来调用父类的成员或构造方法
子类的构造方法会自动调用父类不带参数的构造方法,但是不会调用带参数的构造方法。
如果子类确实有必要调用父类带参数的构造方法,就必须使用super关键字来实现
super使用规则:

它只能用在构造方法中,
      它只能是第一条执行语句
      一个构造方法中只能有一天super语句
java语言支持两种类型的多态性:运行时的多态性,编译时的多态性
多态性体现在两个方面:
方法重载:通常指在同一个类中,相同的方法名对应着不同的方法实现,但是方法的参数不同
成员覆盖:通常指在不同类中允许有相同的变量名,但是数据类型不同;也允许有相同的方法名,但是对应的方法实现不同
普通方法的重载
方法同名时,要求至少下面之一不同:1、参数个数不同 2、对应位置参数类型不同

 void overload(int); 1
 int overload(int,int); 2
 double overload(); 3
 int oveload(int);
 1、2、3互为重载,但1、4之间不是重载

覆盖和重载的区别 :
      重载和覆盖的方法名称都相同,但重载要求参数列表不同,而覆盖则要求参数列表完全相同
      重载对于方法前面的修饰符没有限制,而覆盖则对这些修饰符的使用有限制
      同一类中的方法能够相互重载,但不能相互覆盖。子类对父类方法既可以重载也可以覆盖
      重载时,编译器在编译期间就可以确定调用哪一个方法,而覆盖则有可能在运行期间才能确定

java系列--重载和覆盖小结的更多相关文章

  1. Java之重载与覆盖

    有的时候,类的同一种功能有多种实现方式,到底采用哪种实现方式,取决于调用者给定的参数.例如我们最常用的System.out.println()能够打印出任何数据类型的数据,它有多种实现方式.运行时,J ...

  2. java的重载、覆盖和隐藏的区别

    重载:方法名相同,但参数不同的多个同名函数 注意:1.参数不同的意思是参数类型.参数个数.参数顺序至少有一个不同 2.返回值和异常以及访问修饰符,不能作为重载的条件(因为对于匿名调用,会出现歧义,eg ...

  3. java中重载、覆盖和隐藏三者的区别分析

    重载:方法名相同,但参数不同的多个同名函数 注意:1.参数不同的意思是参数类型.参数个数.参数顺序至少有一个不同 2.返回值和异常以及访问修饰符,不能作为重载的条件(因为对于匿名调用,会出现歧义,eg ...

  4. java中重载和覆盖(又称重写)的区别

    初次见到这两个单词并没有什么特别的感觉,但是时间长了,却发现书上一会儿用override,一会儿又用overload,搞得我的迷迷糊.于是就做了个总结,希望能对和我一样对这两个概念模糊不清的网友有一个 ...

  5. java中方法的重载和覆盖

    java中方法的重载和覆盖 先来了解一下这两个名词的含义. 重载: 在一个类当中才可以重载,方法名相同,参数个数不同或参数个数相同而参数类型不同. 覆盖: 又称重写,在派生类(子类)中重写基类(父类) ...

  6. Java基础知识(重载和覆盖)

    重载(overload): 在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了. 即当函数同名时,只看参数列表.和返回值类型没关系. 重 ...

  7. java中方法的重载和覆盖分别要满足的条件

    1.重载:遵循“两同三不同” 两同:同一个类中的同名方法 三不同:形参的类型,个数,顺序不同 特别提醒: 返回值不同构不能方法重载 形参名称不同构不成方法重载 2.覆盖(重写)的要求 子类方法的名称, ...

  8. Java系列笔记(5) - 线程

    我想关注这个系列博客的粉丝们都应该已经发现了,我一定是个懒虫,在这里向大家道歉了.这个系列的博客是在我工作之余写的,经常几天才写一小节,不过本着宁缺毋滥的精神,所有写的东西都是比较精炼的.这篇文章是本 ...

  9. Java:重载和重写

    Java:重载和重写 对 Java 中的 重载和重写 这个概念,做一个微不足道的小小小小结 重载 重载:编译时多态,同一个类中的同名的方法,参数列表不同,与返回值无关. 有以下几点: 方法名必须相同: ...

随机推荐

  1. JQuery中一个简单的表单验证的实例

    html代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  2. English--Computer System

    A: Hey, Bill, Can you tell what's wrong with my computer? I can't move the mouse, I can's user the k ...

  3. Linux 安装 Redis 服务

    下载地址 http://download.redis.io/releases/redis-3.2.0.tar.gz 官网下载地址 http://redis.io/download 1.下载安装包 cd ...

  4. 自己用wireshark 抓了个包,分析了一下

    我自把对应 ip 包的头部拿出来手动分析了一下 :)

  5. FZU 2147 A-B Game(数学)

    我们只需要知道这个取完模最大是 a / 2 + 1就可以了,不过超时了几次,换了visual C++才过,oj还真是傲娇啊. #include<iostream> #include< ...

  6. HDU 2897 邂逅明下(巴什博奕变形)

    巴什博奕的变形,与以往巴什博奕不同的是,这里给出了上界和下界,原先是(1,m),现在是(p,q),但是原理还是一样的,解释如下: 假设先取者为A,后取者为B,初始状态下有石子n个,除最后一次外其他每次 ...

  7. c# 错误 两个输出文件名解析为同一个输出路径

    检查同项目的其他文件夹下面已有其他同名窗体,影响设计器

  8. web 开发:CSS3 常用属性——速查手册!

    web 开发:CSS3 常用属性——速查手册! CSS3 简介:http://www.runoob.com/css3/css3-intro.html 1.目录 http://caniuse.com/ ...

  9. tomcat webdav

    <servlet> <servlet-name>webdav</servlet-name> <servlet-class>org.apache.cata ...

  10. expect ------提供用户名和密码的SSH自动登录脚本

    使用VPN,每次都要在Terminal上重复输入命令: ssh -D port user@host 出来密码提示符后,把复杂的密码拷贝下来,然后粘贴到Terminal,敲回车... 终于忍受不了这样的 ...