zoukankan      html  css  js  c++  java
  • 算法(第4版)-1.2.1 使用抽象数据类型

    总结:本小节是关于抽象数据类型的综述,包括是什么、为什么、怎么办。

    重点:

    1. 研究同一个问题的不同算法的主要原因:它们的性能特点不同。

    2. API:通过列出所有构造函数和实例方法(及操作)并简要描述它们的功用,说明抽象数据类型的行为。

    3. Java中的所有数据类型都会继承toString()方法来返回用String表示的该类型的值。Java会在用+运算符将任意数据类型的值和String值连接时调用该方法。

    可以重写toString()方法。必须声明为public String toString(),不能漏掉前面的public。

    4. 每当用例调用了new(),系统都会:

    · 为新的对象分配内存空间

    · 调用构造函数初始化对象中的值

    · 返回该对象的一个引用

    5.

      Counter heads     =     new Counter("heads");

                ↓                                  ↓

     将变量和对象的引                调用构造函数

     用关联的声明语句               来创建一个对象

    6. 在用例代码中区分静态方法和非静态(实例)方法:静态方法调用的开头是类名(按习惯为大写),而非静态方法调用的开头总是对象名(按习惯为小写)。

    7. Java将参数值的一个副本从调用端传递给了方法,这种方式称为按值传递。这种方式的一个重要后果是方法无法改变调用端变量的值。对于原始数据类型来说,这种策略正是我们所期望的(两个变量互相独立),但每当使用引用类型作为参数是我们创建的都是别名,所以就必须小心。换句话说,这种约定将会传递引用的值(复制引用),也就是传递对象的引用。例如,如果我们传递了一个指向Counter类型的对象的引用,那么方法虽然无法改变原始的引用(比如将它指向另一个Counter对象),但它能够改变该对象的值,比如通过该引用调用increment()方法。

    小结:

    八种原始数据类型 --> 传值 --> 不改变原值

    String --> 传引用 --> 不改变原值 (Java String对象以“引用”方式被传递

    数组、类 --> 传引用 --> 改变其中元素/成员变量的值

    *:这个必须理解!

  • 相关阅读:
    feign的callback设定后,项目启动错误
    spring boot工程打成JAR包到服务器上运行
    jar包的启动和停止脚本
    tomcat启动时出现了Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
    maven的多环境配置
    oracle 按照时间间隔进行分组
    Oracle执行计划
    ajax传JSON时设置的contenttype导致JAVA中request.getParameter("")怎么也接收不到数据
    [转]动态代理
    [转]一文读懂《梁宁·产品思维30讲》最精华内容(含全套PPT)
  • 原文地址:https://www.cnblogs.com/iguure/p/5995206.html
Copyright © 2011-2022 走看看