• JAVA第五周学习总结



    - [基本类型与引用类型变量](#jump2)
    

    - [接口](#jump3)
    

    - [多态](#jump4)
    

    UML图

    1.UML图中的符号表示

    • private在类图中用符号-表示;
    • public在类图中用符号+表示;
    • protected在类图中用符号#表示。

    2.用UML图表示各类及接口之间的关系

    • 继承关系(extends):
      空心三角箭头的实线表示,由子类指向父类,或者由子接口指向父接口。
    • 实现关系(implements):
      空心三角箭头的虚线表示,从类指向实现的接口。
    • 依赖关系(该类在某方法中使用到某类):
      类A指向类B的带箭头虚线表示。
    • 关联关系(该类引用了某类作为全局变量:
      类A指向被关联类B的带箭头实线表示,在关联的两端可以标注关联双方的角色和多重性标记。
    • java设计模式—UML类图

    3.UML图建模工具

    基本类型与引用类型变量

    1.八种基本数据类型+三种引用类型

    2.补充说明

    • java库中的几个类
      • Object :
        • Object是类层次结构的根类,每个类都使用Object作为超类。
        • 所有对象(包括数组)都实现这个类的方法。
        • 用Object可以定义所有的类 。
      • String :
        • String类代表字符串。Java 程序中的所有字符串字面值(如"abc")都作为此类的实例来实现。
        • 检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本、在该副本中、所有的字符都被转换为大写或小写形式。
        • string和int的相互转化。
           String a = "21";int b = Integer.parseInt(a);//String 转int
           int a = 21; String b = String.valueOf(a);//int转String
        
      • Date :
        • Date表示特定的瞬间,精确到毫秒。Date的类一般现在都被Calendar 和GregorianCalendar所有代替 。
      • Void :
        • Void 类是一个不可实例化的占位符类,它保持一个对代表 Java 关键字 void 的 Class 对象的引用。
    • java库中的几个接口interface
      • List:列表 ,此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引 在列表中的位置)访问元素,并搜索列表中的元素。List 接口提供了两种搜索指定对象的方法。从 性能的观点来看,应该小心使用这些方法。在很多实现中,它们将执行高开销的线性搜索。 List 接 口提供了两 种在列表的任意位置高效插入和移除多个元素的方法。
        • add() : 在列表的插入指定元素。
        • remove():移除列表中指定位置的元素。
        • get(int index):返回列表中指定位置的元素。
      • Map<K,V>: K - 此映射所维护的键的类型 ; V - 映射值的类型 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
        • put(K key,V value):将指定的值与此映射中的指定键关联(可选操作)。如果此映射以前包含一个该键的映射关系,则用指定值替换旧值(当且仅当,返回 true 时,才能说映射 m 包含键 k 的映射关系)。
        • remove(Object key):如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。更确切地讲,如果此 映射包含从满足(keynull ? knull :key.equals(k))的键 k 到值 v 的映射关系,则移除该映射关系。(该映射最多只能包含一个这样的映射关系。)
        • get(Object key):返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。

    3.区别

    • 从概念上说:
      • 基本数据类型:变量名指向具体的数值;
      • 引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值。
    • 从内存构建方面来说:
      • 基本数据类型:变量在声明之后java就会立刻分配给他内存空间;
      • 引用数据类型:它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址。
    • 从使用方面来说:
      • 基本数据类型:使用时需要赋具体值,判断时使用“==”号;
      • 引用数据类型:使用时可以赋null,判断时使用equals方法。
      • 回到顶端

    接口

    - [java接口|菜鸟教程](http://www.runoob.com/java/java-interfaces.html)
    - [回到顶端](#jump0 )
    

    多态

    **面向对象编程有三大特性:**<span style="color:red">封装、继承、多态。
    
    • 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。
    • 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。
    • 多态是指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)

    1.多态存在的三个必要条件:

    • 继承
      • 在多态中必须存在有继承关系的子类和父类。
    • 重写
      • 子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
    • 父类引用指向子类对象(向上转型)
      • 在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。

    2.多态的实现方式:

    • 重写
    • 接口
    • 抽象类和抽象方法

    3.多态的优点:

    • 消除类型之间的耦合关系
    • 可替换性
    • 可扩充性
    • 接口性
    • 灵活性
    • 简化性

    第六章代码

  • 相关阅读:
    ListView之setEmptyView的问题
    AdapterView的相关知识。
    分享一个程序猿的真实的爱情故事
    C#中的explicit和implicit了解一下吧
    通俗易懂,什么是.NET Core以及.NET Core能做什么
    目前下载VS2017你可能会遇到这个坑
    .NET Core中使用Dapper操作Oracle存储过程最佳实践
    分享一个.NET平台开源免费跨平台的大数据分析框架.NET for Apache Spark
    从ASP.NET Core2.2到3.0你可能会遇到这些问题
    What?VS2019创建新项目居然没有.NET Core3.0的模板?Bug?
  • 原文地址:https://www.cnblogs.com/ln-0407/p/10622829.html
Copyright © 2020-2023  润新知