P41-P52
《Head First Java 》20200826读书笔记
P41
constant常量
-
在Java的面向对象概念中没有全局变量这回事。public与static这些让方法变成类似“global”的修饰符。在任何类中的任何程序都可以存取public static的方法。任何变量只要加上public、static和final,基本上都会变成全局变量取用的常数。
-
Java程序是由一组类所组成,其中有一个类会带有启动的main()方法。
(为什么没有Java虚拟机,就必须一并提交所有类才能让应用程序运行起来?这里是不是就是编译器当做面向过程的程序来使用?)
(如果能做出全局的函数与数据,那又怎么算得上是面向对象?
若有成百上千的类时如何提交?是否可以包装成类似单一应用程序的形式?
这两个问题多看几遍) -
面向对象设计扩展功能不需改动之前已经测试好的程序代码。
-
所有的Java程序都定义在类中。
-
类如同蓝图,描述该类型的对象要如何创建。
-
对象自治;你无需在意它如何完成任务。
-
对象有已知的事物,并能执行工作。
-
对象本身已知道的事物称为实例变量,它代表对象的状态。
-
对象可执行的动作称为方法,它代表对象的行为。
-
创建类时,可能同时会需要创建独立、测试用的类。
-
类可以继承自较为抽象的父类。
-
Java的程序在执行期是一组会互相交谈的对象。
(面向对象设计扩展功能不需改动之前已经测试好的程序代码,那是直接再创建一个类做设计扩展功能吗?)
(什么叫做自较为抽象的父类?)
(Java的程序在执行期是一组会互相交谈的对象?怎么理解?)
P49.
- 变量有两种:primitive主数据类型和引用
- 变量使用:对象的状态(instance variables)与局部(local)变量(声明在方法中的变量),参数(arguments,传递给方法的值),返回类型(执行方法所返回的值),被声明成primitive整数型(int类型)的变量以及声明成更为复杂如String或数组等类型的东西。
e.g. PetOwner对象带走Dog实例变量,Car对象带有Engine实例变量。 - 第3章围绕Java类型、变量的声明、如何运用变量展开。
P50.
- Java注重类型。不会将浮点数类型变量放进整数类型的变量中,除非先跟编译器确认过数字可以损失掉精确度,比如舍去所有的小数值。
- 必须声明所有变量的类型,指定它是个int类型或者Dog类型。
- 变量有两种:primitive主数据类型与对象引用。
- primitive主数据类型用来保存基本类型的值,包括整数、布尔和浮点数等。
- 对象引用保存的是对象的引用。
- 变量声明=类型+名称
比如 int count
int类型的count对象
P51.
P52.
溢位
要确保变量能存下所保存的值。