zoukankan      html  css  js  c++  java
  • 静态使用的注意事项: this super 继承和构造 多态在成员变量和成员函数编译和运行不同表现

    1.静态方法只能访问静态成员

    2.静态方法里不能用this或者super关键字

    3.主函数是静态的

    this 也可以用于在构造函数中调其他。 
    注意:只能定义在构 注意:只能定义在构 注意:只能定义在构 注意:只能定义在构 造函数的第一行。 

     person(String name){

      this.();

      this.name=name;

    )

    当子父类中出现成员函数一模样的情况,会运行。 
    这种现象,称为覆盖操作。时函数 这种现象,称为覆盖操作。
    函数两个特性: 
    1,重载。 同一个类中,重载。 overload
    2,覆盖。 子类中也称为重写,,覆盖。 override
    覆盖注意事项:
    1,子类方法覆盖父时权限必须要大于等的父类权限。
    2,静态只能覆盖静态。 父类中的静态方法又叫做类方法 属于一个类 既然子类继承了父类 那子类也拥有父类的静态方法 怎么可能会覆盖呢?因为java中不能定义相同的方法

    静态方法可以被继承,但是,不能被覆盖,即重写。如果父类中定义的静态方法在子类中被重新定义,那么在父类中定义的静态方法将被隐藏。可以使用语法:父类名.静态方法调用隐藏的静态方法。
    如果父类中含有一个静态方法,且在子类中也含有一个返回类型、方法名、参数列表均与之相同的静态方法,那么该子类实际上只是将父类中的该同名方法进行了隐藏,而非重写。换句话说,父类和子类中含有的其实是两个没有关系的方法,它们的行为也并不具有多态性
    因此,通过一个指向子类对象的父类引用变量来调用父子同名的静态方法时,只会调用父类的静态方法。

    在子类构造函数的第一行 都会有隐式的spuer()

    om

  • 相关阅读:
    UNIX网络编程之旅配置unp.h头文件环境[ 转]
    C++著名程序库
    开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo
    网络库介绍
    置顶问题
    最近做的一个项目
    Storm 遇到问题?
    海量算法视频下载
    Quartz.NET作业调度框架详解
    c#中的委托、事件、Func、Predicate、Observer设计模式以及其他
  • 原文地址:https://www.cnblogs.com/zdcsmart/p/11835738.html
Copyright © 2011-2022 走看看