java 备忘
this:是和特定对象关联的引用。
是调用方法的对象的引用,this 用法和其他对象引用并无不同。
this 在方法内 使用,表示对 调用方法的对象 的引用
当需要明确指出 对当前对象的引用时,才使用this关键字。
this —— 这个对象、当前对象(类型是引用,其实,因为是在堆上new的对象,对对象的操作永远都只能是引用。一切对象皆是引用。一旦哪个对象没有引用了,就可能要被销毁了)
理解了this,有助于 对比理解static:
static的方法就是没有this的方法。(上面说了,this是和对象(的引用)关联,即和某一个具体对象相关!)
static里不能含this,因为static可以用类名来调用,即可能连一个对象都没有创建的时候,就能用static, 如果static方法里含this了,那么this指的那个对象在哪里呢?? 就会矛盾了!
一个是和类相关的,一个是和具体对象相关的!
它们就是一对儿。
初始化:——(先指定初始化/自动初始化,自动初始化在构造器调用之前)构造器初始化 方便灵活
指定/自动初始化顺序 取决变量于定义的顺序。
数组初始化:
重要的一种形式是 new className[]{初始化列表。。} 例如
String: new String[]{"aaa","afd","fsdafsd"}
某个类如Rock: new Rock[]{new Rock(), new Rock(2) }
(假设Rock类提供了上面的两种构造器)
这种初始化形式可以用在很多地方:如 我们知道main(String[] args),main有个String[]的 参数
我们可以使用上面的数组初始化形式给main传 args:
main(new String[]{"afdfsdaf","afsafasf"})
即,可以用在参数是数组的时候传参。
因为Java中数组不指定大小,因此当一个方法的参数是数组时,就类似于C语言中的可变参数了。
可以应用于参数个数未知的场合(如String[] args)。或是类型未知的场合(使用Object[])。
可以创建 以对应的类型的 数组为参数 的方法:
void array(Object[] args){
}
新的Java SE5 有了新的样式的支持:
void array(Object... args){
}
如此,可以不用显示编写数组初始化的语法了。即可以去掉 上面数组初始化形式中的new className[]{}
只使用初始化列表即可:
如果是一个String类型的可变参数列表:
array("afds","afafs")
关于this构造器 参考代码
public class ThisTest { private int i=0; //第一个构造器:有一个int型形参 ThisTest(int i){ this.i=i+1;//此时this表示引用成员变量i,而非函数参数i System.out.println("Int constructor i——this.i: "+i+"——"+this.i); System.out.println("i-1:"+(i-1)+"this.i+1:"+(this.i+1)); //从两个输出结果充分证明了i和this.i是不一样的! } // 第二个构造器:有一个String型形参 ThisTest(String s){ System.out.println("String constructor: "+s); } // 第三个构造器:有一个int型形参和一个String型形参 ThisTest(int i,String s){ this(s);//this调用第二个构造器 //this(i); this.i=i++;//this以引用该类的成员变量 System.out.println("Int constructor: "+i+"/n"+"String constructor: "+s); } public ThisTest increment(){ this.i++; return this;//返回的是当前的对象,该对象属于(ThisTest) } public static void main(String[] args){ ThisTest tt0=new ThisTest(10); ThisTest tt1=new ThisTest("ok"); ThisTest tt2=new ThisTest(20,"ok again!"); System.out.println(tt0.increment().increment().increment().i); //tt0.increment()返回一个在tt0基础上i++的ThisTest对象, //接着又返回在上面返回的对象基础上i++的ThisTest对象! } }
posted on 2014-04-10 17:32 efforts and success 阅读(223) 评论(0) 编辑 收藏 举报