第二章对于知识只是点到,会在以后章节会详细展开。

笔记的侧重会偏向记录自己知识模糊的地方。比如 xxx 很重要很难很实用,但是已经熟练使用就没有记录,而

“使用对象.成员名称来使用成员变量”,较简单而且易懂,但是比较模糊就记录了。

1. 使用引用操作对象

2. 堆 存放所有的java对象

堆栈 存储对象的引用

特例: 基本数据类型存储在堆栈中

3. java 每种基本类型占用固定的存储空间大小,不像大多数语言那样与机器硬件架构相关,

也是java程序更具有移植性的原因之一

4. 所有的数据值类型都是有符号类型

字节 byte ,位 bit,1byte = 8bit

char 2字节

int 4字节

C语言中 会有int占2或4个字节的说法 c语言规范中应该有规定各种数据类型的最小范围

5. BigInteger 支持任意精度的整数

BigDecimal 支持任意精度的定点数

6. 创建一个数组对象时,实际是创建了一个引用数组,每一个会自动初始化为null

存储基本数据类型的数组,java也会保证数据被初始化

C,C++中数组是内存块,访问下标外的内容,或者访问未被初始化的数组内容会产生意料之外的结果。

7. C、C++、java中,作用域由花括号的位置决定。

 int a = 0;
 {
   int b = 0;
   System.out.println(b);
5 }
6 System.out.println(b); //Error

在作用域中定义的变量只可用于作用域结束之前。

以下代码在C、C++是合法的,但是在Java、C#不能这样

C、C++会将较大作用域里面的变量隐藏起来。

 {
     int x = 0;
     {
         int x = 1;
     }
 }

8. 可以使用对象.成员名称来使用成员变量。

工作中一般是private修饰成员变量,使用getter/setter操作/获取成员变量。

用对象.成员名称有种C语言的风格,感觉很陌生

9. 基本成员默认值

如果类的某个成员是基本数据类型,即使没有初始化,Java也会确保它会获取一个默认值。

但是 不适用于局部变量,(不是类里面的字段,而是方法里面的定义)

int x;

x不会被初始化,如果x在使用前依旧忘记初始化,Java在编译时会返回一个错误。

10 函数是按值传递的。

但是 对于对象来说,我们使用引用操作对象的,虽然传递给函数的是值,但是这个值可能是一个引用,

调用函数是有可能改变的实参的

# 未完

2.6 构建第一个Java程序

Java编程思想_笔记_第二章_一切都是对象的更多相关文章

  1. Java编程思想读书笔记(二)【一切都是对象】

    begin 2018年1月9日17:06:47 第二章 一切都是对象 Java语言假设我们只进行面向对象的程序设计. 2.1 用引用操纵对象 每种编程语言都有自己的操纵内存元素的方式 操纵内存元素的方 ...

  2. [Java编程思想-学习笔记]第3章 操作符

    3.1  更简单的打印语句 学习编程语言的通许遇到的第一个程序无非打印"Hello, world"了,然而在Java中要写成 System.out.println("He ...

  3. 《Java编程思想》笔记 第七章 复用类

    1.组合 将其他类的对象引用置于新的类中. 3.继承 extends 从已知的一个类中派生出新的一个类,叫子类.子类实现了父类所有 非私有化 非静态 的属性和方法,并能根据自己的实际需求扩展出新的行为 ...

  4. [Java编程思想-学习笔记]第2章 一切都是对象

    2.1  创建新的数据类型:类 通过第一章掌握了面向对象的理论后,我们知道每个对象必定属于一个类型,那么Java如何创建新的数据类型?如下程序所示: class Circle { // 属性 // 方 ...

  5. [Java编程思想-学习笔记]第1章 对象导论

    1.1  抽象过程 Java是一门面向对象的语言,它的一个优点在于只针对待解问题抽象,而不用为具体的计算机结构而烦心,这使得Java有完美的移植性,也即Java的口号"Write Once, ...

  6. Java编程思想第四版第二章练习题答案

    练习1:创建一个类,它包含一个int域和一个char域,它们都没有被初始化.将他们的值打印出来,以验证Java执行了默认初始化 public class JavaThinking { private ...

  7. Java编程思想读书笔记--第14章类型信息

    7.动态代理 代理是基本的设计模式之一,它是你为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象.这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色. 什么是代理模式? ...

  8. [Java编程思想-学习笔记]第4章 控制执行流程

    4.1  return 关键字return有两方面的用途:一方面指定一个方法结束时返回一个值:一方面强行在return位置结束整个方法,如下所示: char test(int score) { if ...

  9. java编程思想第四版第二章要点总结

    1. 基本类型 基本类型 二进制位数 包装器类 boolean - Boolean byte 8 Byte char 16 Character short 16 Short int 32 Intege ...

  10. 《Java编程思想》笔记 第十七章 容器深入研究

    1 容器分类 容器分为Collection集合类,和Map键值对类2种 使用最多的就是第三层的容器类,其实在第三层之上还有一层Abstract 抽象类,如果要实现自己的集合类,可以继承Abstract ...

随机推荐

  1. CSS3文字与字体 text-overflow 与 word-wrap

    text-overflow 对象内的文本溢出部分采用省略“...”标记 或者 剪切: text-overflow:elip(超出容器边界的内容剪切掉)  | ellipsis(超出容器边界内容省略标示 ...

  2. iOS----------use_frameworks!

    1.https://segmentfault.com/a/1190000007076865 2.https://www.jianshu.com/p/8269e4cac48f 3.https://www ...

  3. 如何简单的构建Android?

    原文链接:https://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/   过去的几个月中,在Tuenti上与同行例 ...

  4. sparkSQL catalyst

    最近想来,大数据相关技术与传统型数据库技术很多都是相互融合.互相借鉴的.传统型数据库强势在于其久经考验的SQL优化器经验,弱势在于分布式领域的高可用性.容错性.扩展性等,假以时日,让其经过一定的改造, ...

  5. java连接sql server数据库(使用用户sa)

    一.安装数据库相关软件 sql server management studio是管理sql server数据库的软件,想要使用需到微软官网下载安装sql server,然后再安装sql server ...

  6. Python之excel文件追加内容

    首先要安装三个模块:xlrd,xlwt,xlutils 命令:pip install xlrd xlwt xlutils 示例代码: #!/usr/bin/env python # -*- codin ...

  7. 【记录】垃圾清理软件 便携版CleanMyPC破解版

    摘要 使用CleanMyPC保持您的PC清洁并像新的一样运行.它扫描整个计算机以清理垃圾文件,加速您的PC并提高其性能.CleanMyPC不仅仅是一台PC清洁工 - 它是关注计算机的必备工具.[有能力 ...

  8. 使用git提交代码到github,每次都要输入用户名和密码的解决方法

    自从使用git提交代码到github后,发现自己使用git的功力增长了不少,但也遇到不少问题.比如,使用git提交代码到github的时候,经常要求输入用户名和密码,类似这种: 网上有这么一种解决方法 ...

  9. RobotFramework第一篇之环境搭建

    定义:是一款python编写的功能自动化测试框架,具备良好的扩展性,可以进行分布性测试 1:对编程能力要求低,容易上手 2:关键字调用方式,已经定义好的功能,只需要去调用它,一个关键字实现了一个功能, ...

  10. eclipse导入maven项目,但无法编译的问题

    同事今天从git 导入项目到eclipse 后,发现项目所依赖的包找不到依赖,初步判定是maven的依赖没有导入项目中. 最终发现,在项目中的.classpath 文件加入以下代码即可解决问题. &l ...