zoukankan      html  css  js  c++  java
  • 第三章:多态

    什么是多态?

    简单来说,多态是具有表现多种邢台的能力的特征.更专业化的来说:同一个实现接口,使用不同的实例二执行不同的操作.

    子类到父类的转换(向上转型)

    规则:将一个父类的引用只想一个子类的对象,称为向上转型,自动进行类型转换.

      此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法.

      此时通过父类引用变量无法调用子类特有的方法.

    使用父类作为方法形参实现多态

      使用父类作为方法的形参,是java中实现的使用多态的主要方式之一


    01.多态是具有表现多种形态的能力的特征!
    02.作用:同一个实现接口,使用不同的实例,而执行不同的操作。
    统一调用 。
    ----------------------------------------------------------------------
    01.父类到子类:(向下转型)
    为什么进行向下转型:为了调用到子类特有的方法
    Parent parent=new Child();
    ----say()
    Child child=(Child)parent;
    ---say()
    ---eat()
    子类到父类(向上转型) 为了实现统一调用
    Parent parent=new Child();
    -----------------------------------------

    01.instanceof运算符
    C#清空添加学生窗体上所有[文本框]的文本值。
    foreach(Control item in this.Controls){
    //判定当前控件的类型是不是文本框 TextBox
    if(item is TextBox){
    item.Text=String.Empty;
    }
    }
    "" String.Empty null 区别?
    解析:内存占用上:"" 占用
    String.Empty: 占用 性能比""高
    null:不占内存
    String str="";
    String str=String.Empty;
    String str=null;
    String str;
    ------------------------------------------------
    1.父类类型作为参数

    ---------------------------------------------------
    1.父类类型作为返回值, 单例 是部分语言的 正则表达式
    Java 中单例 :

    懒汉和饿汉模式


    ==和equals()
    1.如果比较的是字符串,==和equals是不同的,因为String重写了Object的equals方法,结果就是如果比较两个字符串,只要字符串的内容一样,就返回true,
    不用是同一个字符串对象,但是如果用==,比较的是内存地址,就要求,对象必须是同一个。


    2.用户自定义类型,除非手动重写equals,否则==和equals等价,都比较内存地址。这都要归功于Object,任何自定义类型默认都继承自Object。
    以为Object的equals内部就是使用==实现的。

    -------------------------
    如何保证多线程下的单例。

  • 相关阅读:
    模拟乒乓球双打和单打比赛
    关于zip内置函数的应用及在 Python 2 和 3 的不同之处
    计算文本平均列数
    四则运算
    Python跳一跳小游戏
    数据库
    类和正则表达
    带进度条的圆周率计算
    球队预测
    自己的第一个网页
  • 原文地址:https://www.cnblogs.com/LJN520/p/5535178.html
Copyright © 2011-2022 走看看