变量有两种:primitive主数据类型和引用。
Java注重类型。它不会让你做出把长颈鹿类型变量装进兔子类型变量中这种诡异又危险的举动——如果有人对长颈鹿调用“跳跃”这个方法会发生什么悲剧?并且它也不会让你将浮点数类型变量放进整数类型的变量中,除非你先跟编译器确认过数字可以损失掉精确度。
编译器会指出大部分的问题:
Rabbit happoer = new Giraffe();
谢天谢地,这样的程序过不了编译器这关
为了让类型安全能够发挥作用,你必须声明所有变量的类型,指定它是个int类型或是个Dog类型,变量有两种口味:清凉的primitive主数据类型和香辣的对象引用。primitive主数据类型用来保存基本类型的值,包括整数,布尔和浮点数等,而对象引用保存的是对象的引用。
你可以把Java的变量想成是杯子。咖啡杯、茶杯、装满啤酒的泡沫跟鱼缸一样大的巨无霸杯等等。
变量就像是被子,是一种容器,承装某些事务。
primitive主数据类型如同咖啡馆的被子,他们有不同的大小,而每种大小都有一个名称,像是“小杯”,“大杯”,“重量杯”等。
而在java中,primitive主数据类型也有不用的大小与名称。当你在Java中声明变量的时候,必须指定它的类型,类似:long-64、int-32、short-16、byte-8
要确保变量能存下所保存的值,不然会溢出。
我们可以根据以下规则来帮助类、方法或变量命名(真正的规则在实际上更为复杂,但这些规则就能够保证安全):
——名称必须以字母、下划线(_)或$符号开头,不能用数字开头
——除了第一个字符以外,后面就可以用数字。反正不要用在第一个字符就行。
——只要符合上述两条规则,你就可以随意地命名,但还要要避开Java的保留字。
事实上没有对象变量这样的东西存在
只有引用(reference)到对象的变量
对象引用变量保存的是存取对象的方法
它并不是对象的容器,而不是类似指向对象的指针。或者可以说是地址。但在Java中我们不会也不该知道引用变量中实际装载的是什么,它只是用来代表单一的对象。只有Java虚拟机才会知道如何引用来取得该对象。
Java注重类型,一旦数组被声明出来,你就只能装入所声明类型的元素。
变量有两种Lprimitive主数据类型和引用
变量的声明必须有类型和名称
primitive主数据类型变量值是该值的字节所表示的
引用变量的值代表位于堆之对象的存取方法
引用变量如同遥控器,对引用变量使用圆点运算符可以如同按下遥控器按钮般地存取它的方法或实例变量