p24~p29:
1、基本类型的作用域由花括号的位置所决定,
需要注意的是:在C和C++里屏蔽外部变量的做法,在Java里是不允许的。
2、对象的作用域:引用的作用域和基本类型的相同。而对象却可以存活于作用域之外,
只要你需要,就会一直保留下去。
3、Java垃圾回收器:这一机制保证了程序不会发生“内存泄漏”。它监控用new创建的所有对象(在堆中),
并辨别那些不会再被引用的对象,随后,释放这些对象的内存空间。
4、如果一切都是对象,那么是什么决定了某一类对象的外观与行为?
class
1、可以在类中设置两种类型的元素:字段和方法
2、基本数据类型作为类的字段时Java将确保给定默认值,
但不适用于在方法中定义的变量(包括引用),在方法内的变量必须人工初始化,即便是null或0,
例如:connection conn = null 作为类的字段则不必要。
(优于C++的地方:如果方法中声明的变量没有初始化,Java会在编译时返回一个错误)
3、方法签名 = 方法名 + 参数列表。(唯一确定某个方法)
4、通过参数传递对象:像Java中任何传递对象的场合一样,实际上都是将对象传递给另一个引用。
5、return的两方面含义:1)已经做完,离开此方法。2)返回一个值。(如果有的话)
例如,如果不想返回任何值:void nothing(){ return; }
Java程序
1、Java解决名字冲突:反转域名来命名类库。
2、运用其他构件:import
3、创建类就是在描述那个类的对象的外观与行为。
4、除非用new创建那个类的对象,否则,实际上并未获得任何对象。
但是经常会碰到两种情况:一种情形是,只想为某特定域分配单一空间(例如序号),
而不去考虑究竟创建多少对象。另一种情形是,希望没有创建对象,也能够调用某一个方法。
5、static关键字:
class StaticTest { static int i = 47; }
StaticTest st1 = new StaticTest(); StaticTest st2 = new StaticTest();
1)静态的只有一份。(StaticTest.i只有一份存储空间,st1和st2所引用的对象共享一个i)
2)可以通过类名直接访问静态成员,并且应该作为首选方式。
(这不仅是因为它强调了变量的静态结构,而且在某些情况下还为编译器优化提供了更好的机会)
3)static关键字的最典型应用就是:定义main()方法。