状态影响行为,行为影响状态。 ==== 实例变量影响方法,方法影响实施变量。 大狗叫声比小狗大。 美国人比中国人高。
方法的参数, 调用方法的一方会传入实参,方法会运用形参。
我们可以从方法中或的返回值。 方法只能声明一个返回值。返回值的类型,可以是具体的也可以是T型的。返回值可以被忽略,void.
java是通过值传递的,==== 通过拷贝传递.
Encapsulation 封装。 dog.name =00 dog.setName =xx. 后者可以对资料的修改内容做检查。 防止被人恶搞变量。还有就是,封装可以让你三心二意却又不会伤害到别人。例子: 你有一个类,所有属性都以public直接暴露,大家都用你这个东西,有一天你发现对某个属性需要检查才能赋值,那么这个时候如果你加个set方法,这个时候所有人都要去改过去掉你的set。而如果你用封装,那么你可以在set里面定义标准。 当然,我会想有没有什么方法在dog.name之前的,在它前面的方法里面加检查的标准, 这个我就不知道了,可能是去源码的地方才能改吧。
数组,是对象,从get,set可以看到数组中的对象的行为
声明与初始化实例变量。 实例变量永远都会有默认值。如果没有明确的赋值给实例变量,或者没有调用setter,实例变量就会用默认值。
实例变量与局部变量的差别, 实例变量是声明在类中的,而不是在方法中的。 局部变量是声明在方法中的。 局部变量在使用前必须初始化。----关于初始化,就是这个变量必须得有一个值,赋值上去的或者是默认的,局部变量必须显示的赋值,int x = 2或者 integer x = new intege();
变量的比较,primitive主数据类型使用== 主数据的比较,就是它的值转为字节是否相等。
而引用类型用==比较, Dog d = new Dog() Dog a = new Dog() a和d不等
比较字节组合是否相同,这个对主数据