第二章     一切都是对象

用引用(reference)操纵对象

String s = "asdf";

String s;

但这里所创建的只是引用,并不是对象。如果此时向s 发送一个消息,就会返回一个运行时刻错误。这是因为此时s 实际上没有与任何事物相关联(即没有电视机)。因此,一种安全的做法是:创建一个引用的同时便进行初始化。String s = "asdf";

必须由你创建所有对象

有六个不同的地方可以存储数据:

1. 寄存器(register).2. 堆栈(stack).3. 堆(heap).4. 静态存储(static storage).5. 常量存储(constant storage).6. 非 RAM 存储.

对象作用域(scope of object)

Java 有一个“ 垃圾回收器”,用来监视用new 创建的所有对象,并辨别那些不会再被引用的对象。随后,释放这些对象的内存空间,以便供其它新的对象使用。也就是说,你根本不必担心内存回收的问题。你只需要创建对象,一旦不再需要,它们就会自行消失。这样做就消除了这类编程问题:即所谓的“内存溢出”,即由于程序员忘记释放内存而产生的问题。

创建新的数据类型:类

域(field)和方法(method)

当变量作为一个类的成员使用时,Java 才确保给定其默认值,以确保那些是基本类型的成员变量得到初始化(C++没有此功能),防止产生程序错误。但是,这些初始值对你的程序来说,可能是不正确的,甚至是不合法的。所以最好明确地对变量进行初始化.然而上述确保初始化的方法并不适用于“局部”变量(即并非是某个类的属性)。因此,如果在某个方法中有这样定义:

方法(Method)、参数(argument)和返回值(return value)

Static 关键字

通过Static 关键字,可以满足这两方面的需要。当你声明一个事物是Static 时,就意味着这个数据或方法不会与包含它的那个类的任何对象实例关联在一起。所以,即使从未创建某个类的任何对象,也可以调用其Static 方法或访问其Static 数据。通常,你必须创建一个对象,并用它来访问数据或方法。因为非Static 数据和方法必须知道它们一起运作的特定对象。由于在用Static 方法前,不需要创建任何对象.

in Java example program.

* Displays a string and today's date.

* @author Bruce Eckel

* @author www.BruceEckel.com

* @version 2.0

*/

public class HelloDate {

/** Sole entry point to class & application

* @param args array of string arguments

* @return No return value

* @exception exceptions No exceptions thrown

*/

public static void main(String[] args) {

System.out.println("Hello, it's: ");

System.out.println(new Date());

}

} ///:~

转载于:https://blog.51cto.com/xiaomao870311/416880

java编程思想 学习笔记(2)相关推荐

  1. Java编程思想学习笔记-第11章

    <?xml version="1.0" encoding="utf-8"?> Java编程思想学习笔记-第11章 Java编程思想学习笔记-第11章 ...

  2. JAVA编程思想学习笔记——第一章 对象导论

    搞了一年多java,野路子出身,发现java基础这块还是相当的薄弱!故决定学习<Java编程思想>这本书.在此把学习的知识点记录下! 面向对象的五大特性 1.万物皆为对象 2.程序是对象的 ...

  3. Java编程思想学习笔记4 - 序列化技术

    今天来学习下Java序列化和反序列化技术,笔者对<Java编程思想>中的内容,结合网上各位前辈的帖子进行了整理和补充,包括: 序列化概述 Java原生序列化技术 Hessian序列化技术 ...

  4. Java编程思想 学习笔记1

    一.对象导论 1.抽象过程 Alan Kay曾经总结了第一个成功的面向对象语言.同时也是Java所基于的语言之一的Smalltalk的五个基本特性,这些特性表现了纯粹的面向对象程序设计方式 1)万物皆 ...

  5. Java编程思想 学习笔记7

    七.复用类 1.组合语法 在新的类中产生现有类的对象.由于新的类是由现有类的对象所组成,所以这种方法叫做组合. 类中域为基本类型时能够自动被初始化为零.对象引用被初始化为null. 编译器不是简单地为 ...

  6. java编程思想学习笔记(第七章:复用类)

    复用代码是java众多引人注目的功能之一.但是要想成为极具革命性的语言,仅仅能够复制代码并对之加以改变是不够的,它还必须能够做更多的事情. 7.1组合语法 将对象引用置于新类中.每一个非基本类型的对象 ...

  7. JAVA编程思想读书笔记(三)--RTTI

    接上篇JAVA编程思想读书笔记(二) 第十一章 运行期类型判定 No1: 对于作为程序一部分的每个类,它们都有一个Class对象.换言之,每次写一个新类时,同时也会创建一个Class对象(更恰当的说, ...

  8. 01.Java 编程入门学习笔记20210307

    Java 编程入门学习笔记-day01 第0章:编程入门 1.计算机的概述 计算机 = 硬件 + 软件 1.1硬件:冯诺依曼体系 CPU: CPU的衡量标准:速度的计量单位是赫兹(Hz),1Hz相当于 ...

  9. Java编程思想读书笔记(七)

    点击蓝字 关注我们 今天是端午节,在这里祝大家端午节安康.过节的同时也不要忘记知识储备,今天我 为大家带来了Java编程思想第七节多形性读书笔记.请大家一起品鉴,如果发现里面有啥写的不对的地方,请大家 ...

最新文章

  1. UIImage图片拉伸方法
  2. JS代码报错 Uncaught SyntaxError: Unexpected token ,
  3. python椭圆函数_python数字图像处理(16):霍夫圆和椭圆变换
  4. Android 透明度百分比对应的 十六进制
  5. B2B 企业如何高效获客增长?
  6. php编译优化,浅析使用Turck-mmcache编译来加速、优化PHP代码
  7. FastCGI - Writing Hello World in FCGI with C++
  8. Programming Protocol-independent Packet Processors (P4)
  9. SQL Server 2000 Service Pack 4 is released
  10. layui列表筛选列_基于layui实现高级搜索(筛选)功能
  11. 服务器能ping通,但是无法ssh
  12. python简单画玫瑰_用python画一朵玫瑰给你
  13. 华为开源平台harmonyos,华为开源平台上线 方舟编译器和鸿蒙系统开源
  14. Java 并发编程(一) 学习教程
  15. 电脑重新安装了有线网卡驱动,并且能上网,但网络连接图标有红叉怎么去掉
  16. wxpython表格怎么分页_Word表格跨页断行如何排版?Word表格换页脱节怎么办?
  17. lnoi2019游记
  18. 计蒜客2018 蓝桥杯省赛 B 组模拟赛(一)-H题封印之门
  19. Activity软盘配置
  20. BPM:现代化银行的“避雷针”(转)

热门文章

  1. 彻底搞清楚javascript中的require、import和export
  2. Easy Problem 3 求长方形的面积
  3. Exchange与ADFS单点登录 PART 5:添加ADFS信赖方信任
  4. Java 中正确获取中文字符串长度
  5. Camera360SDK
  6. 学习笔记总结(VC)
  7. 修改 mybatis-generator 中数据库类型和 Java 类型的映射关系
  8. 打开terminal后conda出现ERROR REPORT
  9. caffe在线可视化(转)
  10. 搭建Hexo最后一步:hexo d时 没反应 直接跳过解决办法(转)