1. 对象初始化器 对象的初始化工作一般都是在其构造函数中进行的,但是有些时候,需要我们手动的来进行一些赋值操作,比如 //传统的方式 Person p1 = new Person(); p1.Name = "小李"; ...
分类:
其他好文 时间:
2014-10-28 15:22:00
阅读次数:
121
这两个的差别就在于是否有参数Looper,而Looper是一个线程相关的对象。
何谓线程相关的变量?就是线程间不能共享的对象,只在本线程内有作用的对象。
那么Looper对象的作用是什么?
从我个人的理解,Looper类就是对MessageQueue的封装,它主要做的是两件事:
1)构造Looper对象,初始化MessageQueue,我们可以从其构造函数看到:
可以看到,Loop对象被创建之后,会被放到ThreadLocal变量中,而ThreadLocal正是线程局部变量,这说明了关于Looper的一个特...
分类:
移动开发 时间:
2014-10-27 17:41:19
阅读次数:
173
一个对象初始化时的顺序是:在不考虑继承关系时,那么顺序如下:static Field -->static ctor --> instance Field-->instance ctor原因:因为static ctor可能会用到static Field,所以必须先字段考虑继承关系时,则是class B...
分类:
其他好文 时间:
2014-10-27 15:33:48
阅读次数:
189
synchronized锁住的是对象,当初始化对象的时候,JVM在对象初始化完成之前会调用方法外面的语句块,这个时候对象还不存在,所以就不存在锁了。那么,在static方法和非static方法前面加synchronized到底有什么不同呢?大家都知道,static的方法属于类方法,它属于这个Clas...
分类:
编程语言 时间:
2014-10-24 18:47:28
阅读次数:
122
1 构造代码块作用:给对象进行初始化。对象一建立就运行,并且优先于构造函数执行构造函数是给所有对象进行统一初始化,构造函数是给对应的对象初始化package package1;class Person{ private String name; { System.o...
分类:
编程语言 时间:
2014-10-19 11:22:05
阅读次数:
247
【问题1】什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类型?
答:从String类的源码中,我们可以知道不可变对象是被final关键字修饰的类产生的对象,其成员变量也是被final修饰的,因此该类不能被修改也不能被继承。
不可变对象的好处主要体现在以下两方面:
1. 不可变对象是线程安全的,可用于多线程。在多线程通信中,某一个变量很可能被多个线程进行修改,因此是不安全的。而不可变对象不能...
分类:
编程语言 时间:
2014-10-18 22:25:04
阅读次数:
243
当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序 1、 alloc 创建对象,分配空间 2、init (initWithNibName) 初始化对象,初始化数据 3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图 4、viewDidLoa...
分类:
其他好文 时间:
2014-10-16 19:32:42
阅读次数:
243
类对象内部嵌套类对象,被嵌套的对象成为内嵌对象。内嵌对象是该类对象的组成部分,当创建该对象时,其内嵌对象也被自动创建。
C++中通过构造函数的初始化表为内嵌对象初始化。组合类的带有初始化表的狗仔函数的定义格式为:
类名::构造函数名(全部参数表):内嵌对象1(参数表1),内嵌对象2(参数表2),...
{ 构造函数体 };
声明格式为:
类名::构造函数名(全部参数表);
...
分类:
其他好文 时间:
2014-10-12 12:21:27
阅读次数:
157
Java代码packagejava.lang; publicclassObject{ /*一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用。*/privatestaticnativevoidregisterNatives();/*对象初始化时自动调用此方法*/static{ r...
分类:
编程语言 时间:
2014-10-11 02:29:14
阅读次数:
353
第37级this 是隐式参数, 类的方法调用时,会系统自动传递一个this的参数给方法.(这个参数是隐式传递的)所以在方法里可以使用this这个参数.this在方法中表示对象.this(参数列表)可以在构造器里调用另一个重载的构造器this主要在对象初始化里用的比较多,也即在构造函数里用的多实际上 ...
分类:
编程语言 时间:
2014-10-09 14:34:03
阅读次数:
174