一切都是对象 Thinking in Java 第二章

  2.1 用引用操作对象

    1.对象和引用联系起来,就可以通过引用来操作对象;

    2.引用亦可单独存在,即没有和任何对象联系起来;对没有和对象联系起来的引用操作,会报错;

  2.2 必须由你创建所有对象

    1.存储到什么地方

      寄存器

      堆栈:*快速存储销毁;基本类型存储的地方

      堆:*常量池;一般对象存储的地方

      常量存储

      非RAM

    2. 特例:基本类型

      保存在 堆栈 中,这个变量直接存储值,所以更加高效一些;

      高精度数字:BigInteger,BigDecimal;

  2.3 永远不用销毁对象

    垃圾回收机制

  2.4 创建新的数据类型:类

    new

    基本类型默认值:如下

   boolean : false

  char : ‘\uoooo‘(null)

  byte : (byte)o

  short : (short)o

  int : o

  long : oL

  float : o.of

  double : o.od

  2.5 方法、参数和返回值

  2.6 构建一个Java程序

    *static关键字:static元素只有一份内存空间,所以它和对象之间基本没有联系,只有通过对象名就可以访问,不需要有特定的实现对象;

    *final关键字:表示不能修改,即确定之后,在他定义的域中,final元素的值时不能修改的;但是不在其域中时(如不同实现的两个对象),final元素可为不同;

    *static fianl 元素:即唯一且不可变

  2.7 你的第一个Java程序

  2.8 注释和嵌入式文档

  2.9 编码风格

时间: 2024-10-14 06:02:44

一切都是对象 Thinking in Java 第二章的相关文章

Java 第二章 变量 、数据类型和运算符 笔记

Java 第二章 变量 .数据类型和运算符 一.变量:存储数据的一个基本单元. 二.变量的声明和赋值: 1)声明并赋值:数据类型 变量名=值;      例:int  price=1000; 2)声明.赋值分两步:数据类型 变量名;   例: int  price; 变量名=值;              price=1000; 三.数据类型2种: 1)基本数据类型8种: Byte 长度:-128~127(-2的7次方到2的7次方减1) Short   -2的15次方到2的15次方减1 Int

Thinking in Java 第二章学习笔记

Java虽基于C++,但相比之下,Java是一种更加纯粹的面向对象程序设计语言. 在Java的世界里,几乎一切都是对象,而Java中的全部工作则是定义类,产生那些类的对象,以及发送消息给这些对象. 尽管一切皆称对象,但我们真正操纵的确是对象的引用,好比电视机为对象,遥控器则为引用,你若想在房间里边走边操控电视,只需带着遥控器这个引用,不必带着电视这个对象.另外,引用可以单独存在,并不需要有对象与之相关联.如创建String s,则创建了一个String引用,但此时如果向这个引用发送消息,就会返回

Effective java 第二章创建和销毁对象 读书笔记

建和销毁对象 一般有两种方式,一种是获得本身的实例,最常用的方法就是提供一个共有的构造器.第二个方法是,类可以提供一个共有的静态工厂方法. 静态工厂方法与构造器不同的三大优势: 有名字: 调用时不用创建新的对象: 返回原来类型的任何子类型对象. 第四大优势: 在创建参数化类型实例的时候,它们使代码变得更加简洁. 服务提供者框架 三个组件: 服务接口 提供者主持API 服务访问API 可选: 服务提供者接口 静态工厂方法的缺点: 类如果不含共有的或者受保护的构造器,就不能被子类化: 它们与其他的静

Java第二章----对象和类

从第一章到第二章整整隔了一个月的时间,这速度也是慢的无语了.因为这个月负责开发公司一个SaaS类型APP,忙的昏天暗地终于上线了,这才有时间写个博客.本章还是以概念为主,有点枯燥重在理解. 第一节:对象 名词解释 OOA-Object Oriented Analysis-面向对象分析 OOD-Object Oriented Design-面向对象设计 OOP-Object Oriented Programming-面向对象程序设计 面向对象基本特性 万物皆可为对象:任何一件事物都可以表示为程序中

[Effective Java]第二章 创建和销毁对象

第一章      前言 略... 第二章      创建和销毁对象 1.            考虑用静态工厂方法代替构造器 创建对象方法:一是最常用的公有构造器,二是静态工厂方法.下面是一个Boolean的简单示例: public static Boolean valueOf(boolean b) { return (b ? Boolean.TRUE : Boolean.FALSE); } l  静态工厂方法与构造器不同的第一大优势在于,它们有名称. 作用不同的公有构造器只能通过参数来区别(因

Java 第二章

第二章笔记 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据.说白了,变量就是代表程序运行时存放数据的地方 数据的存放: 磁盘.内存卡.U盘.光盘.内存条.固态.机械硬盘等等 简单的信息(临时的信息)纸 人把信息存在大脑 变量怎么在内存中存储 已将数据存储打内存中怎么去找 分配后的内存会有内存地址(内存地址不好记忆) :通过变量名可以简单快速地找到它存储的数据 Java定义的常用数据类型有

疯狂JAVA——第二章 理解面向对象

面向对象的三大特征:继承.封装和多态 面向对象的方式实际上由OOA(面向对象分析).OOD(面向对象设计)和OOP(面相对象编程)三个部分组成,其中OOA和OOD的结构需要用一个描述方式来描述并记录,目前业界统一采用UML(统一建模语言)来描述并记录OOA和OOD的结果. 面向对象和基于对象的区别:基于对象也是用了对象,但无法利用现有的对象模板产生新的对象类型,也就是说,基于对象没有继承和多态.JavaScript就是基于对象的. java语言中,除了8个基本数据类型以外,一切都是对象. 一般-

<Thinking in java 第二章> 一切都是对象

P23--Java提供了两个用于高精度计算的类:BIgInteger和BigDecimal,能作用于int和float的操作,也同样能作用于BigInteger和BigDecimal.只不过必须以方法调用的方式取代运算符方式来实现.在这里,我们以速度换取了精度. P27--方法名和参数列表(它们合起来称作方法签名)唯一的标识出某个方法.方法重载是方法名相同,通过参数列表的不同来区分调用不同的方法体,所以允许有不同的返回值. 原文地址:https://www.cnblogs.com/ryan121

Effective java 第二章 对象 (2)

不要创建不必要的对象 一.一些对象创建后不会在更改,可重复使用的对象不比在重新创建. 二.能使用基本类型计算而尽量使用基本类型,包装类型在效率上比基本类型要低  比如: public static void main(String[] args) { Long i=0L; //long i=0L; for(int j=0;j<1000000;j++){ i+=1; } 循环一百万次    Long 类型  时间差  32      long 类型  时间差  7     原因是 ,使用Long类