4.4:静态方法不能操作对象。(不能访问变量,因为编译时会还原成this.xxx形式) 4.5:java语言是按值传递的。因此对于方法参数为基本型数据,如: [java] view plaincopy
- int x = 3;
- public void plus(int x){
- x=x*3;
- }
- plus(x);
x 仍然为3;
而对于参数我对象的,实际上参数变量持有的是原变量的拷贝,只是都引用了同一个对象。因此操作会对对象造成影响。 4.6:初始化:声明,构造器,初始化块; 5.1静态绑定:private方法,static方法,final方法,变量。编译时就能准确知道调用的是哪个方法。 动态绑定:除此之外外,JVM会对每一个类构造一个方法列表(方法签名,对象类型),执行时,更具执行时实际的对象类型,选择最适合的方法执行。 5.2相等:‘’==”比较两个变量是否是同一个引用。各类都有自身判定相等的方法:equals。对于String,只有字符串常量是共享的,通过+,substring等操作产生的结果不共享。 Object.equals(Object a,Object b),若a,b都为null,返回true;一个为null,返回false;否则返回a.equals(b);
|