【问题1】什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类型?
答:从String类的源码中,我们可以知道不可变对象是被final关键字修饰的类产生的对象,其成员变量也是被final修饰的,因此该类不能被修改也不能被继承。
不可变对象的好处主要体现在以下两方面:
1. 不可变对象是线程安全的,可用于多线程。在多线程通信中,某一个变量很可能被多个线程进行修改,因此是不安全的。而不可变对象不能...
分类:
编程语言 时间:
2014-10-18 22:25:04
阅读次数:
243
1)类,对象,方法类类名:1) 类名的第一个字母必须是大写2) 不能有下划线3) 多个英文单词,用驼峰标识类的声明和实现类的声明@interface 类名 : NSObject{ @public 成员变量;}方法声明;@end类的实现@implementation 类名方法实现;@end举例说明.....
分类:
其他好文 时间:
2014-10-18 22:17:59
阅读次数:
516
*** 封装 ***一、 set方法通过 指针->成员变量名 方式给成员变量赋值具有危险性,可能被赋值为不合理的数值。不允许通过指针直接修改成员变量,就要去掉@public。通过方法来修改成员变量的值,方法中可以加代码保证接收的值是合理的赋值。设置成员变量属性值的方法,通常称为该属性的set方法,命...
分类:
编程语言 时间:
2014-10-18 22:11:05
阅读次数:
230
重写hashCode的成员变量发生变化,Set中对象无法找到 1、使用对象的hashCode函数来初步确定内存位置,如果该位置没有存储对象,则将此对象存放于此 2、如果hash函数直接计算出的内存地址空间已经有对象存在,则会...
分类:
编程语言 时间:
2014-10-18 12:46:49
阅读次数:
164
最终效果:
使用方法:
1、在主控制器中创建一个【SlideSwitchView】的对象实例,并用成员变量记住,如_slideSwitchView,并添加到self.view
2、设置【_slideSwitchView】的4个属性:
tabItemNormalColor:选项卡正常时的颜色
tabItemSelectedColor:选项卡选中时的颜色
shadowI...
分类:
移动开发 时间:
2014-10-18 12:41:05
阅读次数:
360
静态成员变量1静态成员函数只能访问静态变量,因为静态变量不含this指针2静态成员变量不但被类的各个对象共享,而且也被派生类的对象共享示例:classbase{public:staticintnum;};intbase::num=0;classderived:publicbase{};basea;d...
分类:
其他好文 时间:
2014-10-18 00:42:26
阅读次数:
243
派生类继承基类内存分配时,是在于基类对象不同的内存地址处,按基类的成员变量类型,开辟一个同样的类型空间,但注意开辟后派生对象的空间,不是复制基类的成员的值,而是仅仅开辟那种成员类型的空间,未初始化时,里面存在的数是不确定的然后派生类自己定义的成员变量是排在继承的A类成员下面,如果派生类定义的变量名与...
分类:
其他好文 时间:
2014-10-18 00:32:07
阅读次数:
288
来源:http://www.cnblogs.com/jay-dong/archive/2012/12/13/2815778.html熟悉oc语法的同学也许都会懂得这么一点:在oc中,类的成员变量或是方法是没有绝对私有的。私有方法直接通过类实例无法访问,但可以借助oc的“编译运行时”机制,也即“瞎子摸...
分类:
移动开发 时间:
2014-10-16 20:54:03
阅读次数:
244
Spring 4.x 中可以为子类注入子类对应的泛型类型的成员变量的引用,(这样子类和子类对应的泛型类自动建立关系)具体说明: 泛型注入:就是Bean1和Bean2注入了泛型,并且Bean1和Bean2建立依赖关系,这样子类Bean3(继承bean1)和bean4(继承bean2)就会自动建立关系....
分类:
编程语言 时间:
2014-10-15 20:35:31
阅读次数:
182