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对象以“引用”方式被传递

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

    *:这个必须理解!

  • 相关阅读:
    MySQL之数据表的插入内容 空与非空(六)
    输出杨辉三角形
    输入三个double型的数据,放入到a,b,c三个变量中去,使用条件结构与交换逻辑将这三个变量中的值从小到大排列。
    软件测试
    过程设计工具
    设计原理
    总体设计
    生活,也让别人生活
    计算器案例
    需求分析
  • 原文地址:https://www.cnblogs.com/iguure/p/5995206.html
Copyright © 2011-2022 走看看