您的位置:首页 > 编程语言 > Java开发

《java编程思想》学习笔记—一切都是对象

2017-09-12 00:00 204 查看

2.1用引用操纵对象

1、(1)尽管一切都看作是对象,但操作的标识符实际上是对象的一个“引用”。可以将这一情形想像成遥控器(引用)来操纵电视机(对象)。

(2)拥有一个引用,单不一定需要有一个对象与它关联,如:String s;如果此时向s发送一个消息,就会返回一个运行时错误。所以一种安全的做法是,创建一个引用的同时顺便进行初始化,如string s ="abc";

2.2必须由你创建所有的对象

1(1)一旦创建了一个引用,就希望它能与一个新的对象相关联,通常用new操作符来实现这一目的。

2.2.1存储到什么地方

1、寄存器

2、堆栈

3、堆

4、常量存储

5、非RAM存储

2.2.2特例:基本类型

1、基本类型具有的包装类,使得可以在堆中创建一个非基本对象,用来表示对应的基本类型,如
Character ch = new Character ('c');

java SE5的自动包装功能将自动地将基本类型转换为包装器类型:Character ch = 'X'

2.2.3Java中的数组

1、java确保数组会被初始化,而且不能在它的范围职位被访问,这种方位检查,是以每个数组是少量的内存开销及运行时的下标检查为代价的。

2、当创建一个数组对象时,实际上就是创建了一个引用数组,并且每个引用都会自动被初始化为一个特定值。

2.3永远不需要销毁对象

2.3.1作用域

作用域决定了在其内定义的变量名的可见性和生命周期。

2.3.2对象的作用域

1、java对象不具备和基本类型一样的生命周期,当用new创建一个java对象时,它可以存活于作用域之外。

2、java有一个垃圾回收期,用来见识用new创建的所有对象,并辨别哪些不会被再引用的对象。随后释放这些对象的内存空间,以便供其他新的对象使用。

2.4创建新的数据类型:类

2.4.1字段和方法

1、如果字段是对某个对象的引用,那么必须初始化该引用

2、每个对象都有用来存储其字段的空间;普通字段不能在对象间共享

3、若类的某个成员是基本数据类型,即使没有进行初始化,java也会确保它获得一个默认值。然而局部变量(即非某个类的字段)不会自动被初始化。

2.5方法、参数和返回值

1、方法签名:方法和参数列表唯一标识出某个方法

2、int x = a.f()这种调用方法的行为通常被称为发送消息给对象,f()是消息,a是对象

3、return关键字的用法:首先,它代表“已做完,离开此方法”。其次,如果此方法产生了一个值,这个值要放在return语句后面。若返回类型是void,return关键字的作用只用用来对出方法。

2.6构建一个java程序

2.6.1名字可见性

2.6.2运用其他构建

可以使用关键字import来准确告诉编译器想要的类是什么。

2.6.3static关键字

1、使用static关键字的场景

(1)只想为特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建任何对象。

(2)希望某个方法不去与包含它的那个类的任何对象关联在一起,即没有创建对象,也能调用这个方法.

2、当声明一个事物是static时,就意味着这个域或方法不会与包含它的那个类的任何对象关联在一起。所以,即使从未创建某个类的任何对象,也可以调用其static方法或访问其static域。

3、有两种方法访问今天事物,一种是直接用类名点,另一种是通过一个对象去定位,如下:

class StaticTest{
static int i = 47;
}
StaticTest s1 = new StaticTest();
StaticTest.i
s1.i

2.7你的第一个java程序

main方法的args要用来存储命令行参数

2.8注释和嵌入式文档

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: