12.9 Override

静态方法

  • 父类的引用可以指向子类静态方法(用static修饰的方法)的调用只和左边定义的数据类型有关,如:
public class Person {
public static void Saying()
{
System.out.println("person说了一句话。");
}
} public class Student extends Person{
public static void Saying()
{
System.out.println("student说了一句话。");
}
} main()
{
Student S = new Student();
S.Saying();
**Person p = new Student();**
p.Saying();
}

输出结果:

非静态方法

  • 重写只和非静态方法有关,即只有非静态方法能够重写。
  • 重写要区别于重载(函数的参数个数和参数类型不同)
  • 重写的方法必须为public
  • 子类和父类都有的方法,如子类重写了父类的方法,则执行子类的方法。
public class Person {
public void Saying()
{
System.out.println("person说了一句话。");
}
} public class Student extends Person{
public void Saying()
{
System.out.println("student说了一句话。");
}
} main()
{
Student S = new Student();
S.Saying();
**Person p = new Student();**
p.Saying();
}

输出结果:

多态

  • 多态是方法的多态,属性没有多态

  • 多态存在的条件:两个类之间有继承关系,方法需要重写,父类的引用指向子类对象,即

    Father f1 = new Son();
  • 父类无法调用子类独有的方法,若父类的方法被子类重写则调用子类的重写方法,代码见上:

  • 不能重写的方法:static修饰的方法、final常量、private方法。

12.9 Override的更多相关文章

  1. Android开发手记(12) Menu的使用

    Android中的Menu分为三种,分别为:OptionsMenu(选项菜单).ContextMenu(上下文菜单).SubMenu(子菜单). 1.OptionsMenu 按Menu键就会显示,用于 ...

  2. overload和override二者之间的区别

    overload和override三者之间的区别 Overload是重载,是有相同的方法名,但参数类型或个数彼此不同Override是重写,是在子类与父类中,子类中的方法的方法名,参数个数.类型都与父 ...

  3. .NET Core采用的全新配置系统[7]: 将配置保存在数据库中

    我们在<聊聊默认支持的各种配置源>和<深入了解三种针对文件(JSON.XML与INI)的配置源>对配置模型中默认提供的各种ConfigurationSource进行了深入详尽的 ...

  4. ASP.NET Core管道深度剖析(3):管道是如何处理HTTP请求的?

    我们知道ASP.NET Core请求处理管道由一个服务器和一组有序的中间件组成,所以从总体设计来讲是非常简单的,但是就具体的实现来说,由于其中涉及很多对象的交互,我想很少人能够地把它弄清楚.为了让读者 ...

  5. 记录一次bug解决过程:resultType和手动开启事务

    一.总结 二.BUG描述:MyBatis中resultType使用 MyBatis中的resultType类似于入参:parameterType.先看IDCM项目中的实际使用案例代码,如下: // L ...

  6. Web Api 与 Andriod 接口对接开发经验

    最近一直急着在负责弄Asp.Net Web Api 与 Andriod 接口开发的对接工作! 刚听说要用Asp.Net Web Api去跟 Andriod 那端做接口对接工作,自己也是第一次接触Web ...

  7. ASP.NET Core中的依赖注入(5): ServiceProvider实现揭秘 【解读ServiceCallSite 】

    通过上一篇的介绍我们应该对实现在ServiceProvider的总体设计有了一个大致的了解,但是我们刻意回避一个重要的话题,即服务实例最终究竟是采用何种方式提供出来的.ServiceProvider最 ...

  8. 【工业串口和网络软件通讯平台(SuperIO)教程】四.开发设备驱动

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    开发准备 把“开发包”内的所有文件复制到项目的“bin”目录下,或项目下的专用生成目录.开发包 ...

  9. java web学习总结(二十) -------------------监听器属性详解

    一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信 ...

随机推荐

  1. My97DatePicker接口

    复制于http://blog.csdn.net/lidew521/article/details/8531685 一. 简介 1. 简介 目前的版本是:4.2 正式版 发布于2008-12-03 2. ...

  2. Back to Basics: RAII and The Rule of Zero

    本文整理了Arthur O'Dwyer在CppCon 2019上关于RAII的演讲,演讲的slides可以在此链接进行下载. 在C++程序中,我们往往需要管理各种各样的资源.资源通常包括以下几种: A ...

  3. JAVA8学习——深入浅出方法引用(学习过程)

    方法引用:method reference 先简单的看一下哪里用到了方法引用: public class MethodReferenceTest { public static void main(S ...

  4. python中提取字典中的键值

    1 # 字典如下 2 movie = { 3 '妖猫传':['黄','染'], 4 '无问西东':['章','王'], 5 '超时空':['雷','佟'] 6 } 7 name = input('请输 ...

  5. close-on-exec 相关的一个 bug

    close-on-exec 相关的一个 bug 测试一个用 V4L2 拍照的程序时,发现程序单独运行很正常,但在多进程环境下运行时就会出现问题,具体表现为执行 open 系统调用打开 /dev/vid ...

  6. harbor服务器脚本

    项目实战,160服务器上安装harbor.mysql等 检查端口 check.sh #!/bin/bash echo -e "\033[31;1;4;5m check mysql... \0 ...

  7. 使用fireworks解决图片隐写的问题

    同样也可以用ps来解决图层间隐写的问题

  8. WEB服务蜜罐部署实验

    实验目的 了解WEB蜜罐的基本原理,掌握Trap Server的使用. 实验原理 Trap Server是一款WEB服务器蜜罐软件,它可以模拟很多不同的服务器,例如Apache. HTTP Serve ...

  9. [题解]Mail.Ru Cup 2018 Round 1 - A. Elevator or Stairs?

    [题目] A. Elevator or Stairs? [描述] Masha要从第x层楼去第y层楼找Egor,可以选择爬楼梯或者坐直升电梯.已知爬楼梯每层需要时间t1:坐直升电梯每层需要时间t2,直升 ...

  10. 这款智能又高效的自助式BI工具,你应该了解一下

    如今,企业的经营面临越来越激烈的竞争,如何将数据的价值发挥到最大化,成为众多企业急需解决的问题.如果部署数据分析平台还像以前那样要经历漫长实施过程的话,那么数据化运营将成为空谈.在市场需求的催化下,& ...