深入static与多态

static 隐藏效果.  静态覆盖静态 父亲覆盖儿子

覆盖: 儿子覆盖父亲

static 静态方法的绑定在编译时候已经好了, 多态无效果

class Father
{
public static void print()
{
System.out.println("Father static method called");
}
}
class Son extends Father
{
public static void print()
{
System.out.println("Son static method called");
}
public static void main(String[] args)
{
Son.print();
Father s=new Son ();
s.print();
}
}

  输出的结果是:

Son static method called
Father static method called

static 由于静态代码段先编译,实现的是隐藏效果.隐藏和覆盖的有区别的.

多态其实包括:  覆盖,重写,隐藏. 

---恢复内容结束---

static 隐藏效果.  静态覆盖静态 父亲覆盖儿子

覆盖: 儿子覆盖父亲

static 静态方法的绑定在编译时候已经好了, 多态无效果

class Father
{
public static void print()
{
System.out.println("Father static method called");
}
}
class Son extends Father
{
public static void print()
{
System.out.println("Son static method called");
}
public static void main(String[] args)
{
Son.print();
Father s=new Son ();
s.print();
}
}

  输出的结果是:

Son static method called
Father static method called

static 由于静态代码段先编译,实现的是隐藏效果.隐藏和覆盖的有区别的.

多态其实包括:  覆盖,重写,隐藏.
时间: 2024-10-25 15:25:22

深入static与多态的相关文章

多态总结

8章多态总结 1.多态概述:有相同的行为,不同实现. 2.多态分类:静态多态:是指运行时就知道调用什么方法.(实现静态多态就是方法重载) 注意静态多态不是指static. 动态多态:是指编译时不知道,运行时才知道.(实现动态多态使用动态绑定和方法重写) 3引用的指向:父类的引用指向子类的对象,该引用只能调父类的方法不能调子类独有方法:如果子类重写了父类的一个方法,那么在调用这个方法是时候,调用的将是子类中的这个方法:在多态中子类可以调用父类的所以方法. 向上转型:是指低精度的向高精度的自动转换.

JavaSE知识-09(面向对象_多态&抽象类&接口)

多态的概述及其代码体现 多态(polymorphic)概述 事物存在的多种形态 多态前提 a:要有继承关系. b:要有方法重写. c:要有父类引用指向子类对象. class Demo1_Polymorphic { public static void main(String[] args) { Cat c = new Cat(); c.eat(); Animal a = new Cat(); //猫是一只动物 //父类引用指向子类对象 a.eat(); } } class Animal { pu

java EE学习流程(第二版更新)

这周有点堕落了,这两天啥都没写,就顾上刷<庆余年>了??,今天拿还没完成的javaEE的学习流程来充个数,这个是我在原来基础上增加和更新后的学习流程.里面增加了现有的一些新技术,同时也增加了我了解到的技术和框架.希望能够帮助到正在学习的你,资源链接如下: 链接: https://pan.baidu.com/s/1XSyene6Fva6jrqaiH1s8bQ 提取码: 53qr 图片版本的我放在文末了,比较长,以下是内容大纲: 第一阶段 计算机基础知识 计算机基本构成 硬件 软件 基本架构 硬件

面向对象、类与对象、成员与局部变量、封装、private、构造函数、this、static、extends、super、final、abstract、interface、多态、内部类、异常【5】

  本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ 本文版权归作者和博客园共有,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接 ,否则保留追究法律责任的权利. 面向对象概念 理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 •强调的是功能行为 面向对象 •将功能封装进对象,强调具备了功能的对象. 面向对象是基于面向过程的. 面向过程   在一个结构体中定义窗口的大小

java学习笔记四:static的几个角落及小谈多态

最近有点事情,没有及时更新笔记,学习不可弃,总结一下最近的学习,其中重点是static的一些应用,多态是一种设计理念,了解较容易,想如火纯清的确不是一件容易的事情. 对于static,主要有两点是我所学习的. 1.首先简单的介绍一下static的定义.static是静态的意思,就是说这个类变量或者类方法不需要实例化就可以使用.使用static的变量是类变量,也成为静态域(static field).这些是static的基本语义,了解了这些,继续向下看. java核心技术(卷一)对于静态有这样一段

java基础 静态 static 问在多态中,子类静态方法覆盖父类静态方法时,父类引用调用的是哪个方法?

多态 package com.swift.jiekou; public class Jicheng_Tuotai_jingtai_diaoyong { public static void main(String[] args) { Fu f=new Zi(); f.show(); } } class Fu{ static int x=1; public static void show() { System.out.println("父类的方法"+x); } } class Zi e

转:Java中子类是否可以继承父类的static变量和方法而呈现多态特性

原文地址:Java中子类是否可以继承父类的static变量和方法而呈现多态特性 静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法,关于static方法,声明为static的方法有以下几条限制: 它们仅能调用其他的static 方法. 它们只能访问static数据. 它们不能以任何方式引用this 或super. 无论是static修饰的变量,还是static修饰的方法,我们都知道他们是属于类本身的,不是属于某一个对象的,当声明一个对象时,并不产生sta

多态 static 表示静态 编译的时候只调用Animal类中的eat 不会调用其他类中的eat 不建议用static;

package cn.zmh.A; //动物类public class Animal {   static void eat(){          }} //猫类 class Cat extends Animal {   static void eat(){        System.out.println("猫吃鱼");    }}  //狗类 class Dog extends Animal {       static void eat(){            Syste

static、接口、多态、内部类

第一章 static关键字 知识点-- static关键字 目标: 之前咋们写main方法的时候,使用过了一个static关键字,接下来我们来学习一下static关键字 路径: static关键字概述 static关键字的使用 讲解: 1.1 概述 static是静态修饰符,表示静态的意思,可以修饰成员变量和成员方法以及代码块. 1.2 定义和使用格式 static修饰成员变量 当 static 修饰成员变量时,该变量称为类变量.该类的每个对象都共享同一个类变量的值.任何对象都可以更改该类变量的