OC 初识NSString,self关键字,继承,成员变量的可见性,description方法 初识 NSString: char * string = "旭宝爱吃鱼"; 常量字符串存储在静态区 NSString * string = "旭宝爱吃鱼"; OC对象存储在堆区 创建NSString对象: 1.用字面量来创建 NSString * string = @"旭宝爱吃鱼"; 2.通过类方法创建NSString对象 NSString * for…
问题:Java反射机制可以动态修改实例中final修饰的成员变量吗? 回答是分两种情况的. 1. 当final修饰的成员变量在定义的时候就初始化了值,那么java反射机制就已经不能动态修改它的值了. 2. 当final修饰的成员变量在定义的时候并没有初始化值的话,那么就还能通过java反射机制来动态修改它的值. 实验: 1. 当final修饰的成员变量在定义的时候就初始化了值 public Class Person { private final String name = "damon.hua…
类的创建: 与Java不同的是,OC创建一个类需要两个文件(.h和.m文件) 1> xxx.h:声明文件.用于声明成员变量和方法.关键字@interface和@end成对使用. 声明文件只是声明该类里成员变量和方法的格式(返回值类型,参数类型等),并不会实现它们. 在OC中继承用冒号表示,所有类都是继承于NSObject的,所以Sudent:NSObject.(这是和Java不同的,Java中所有类都继承于Object,但不用每定义一个类都写明继承关系,所有类都是默认继承于Object类的).…
点语法 点语法本质是函数的调用,不是像java中那样,是用来访问成员变量的:oc中访问成员变量是用 -> 访问的: Person *p = [Person new]; p.age = 10; // 如果点语法是进行了赋值操作,那么就相当于调用了setter方法: [p.age]; // 这样不赋值相当于调用了getter: 注意点: 尽量不要在setter或getter中调用点语法,容易引发死循环:死循环是由于递归调用引发的: // 在setter调用点语法 - (void)setAge:(in…
类变量(也叫静态变量)是类中独立于方法之外的变量,用static 修饰.(static表示“全局的”.“静态的”,用来修饰成员变量和成员方法,或静态代码块(静态代码块独立于类成员,jvm加载类时会执行静态代码块,每个代码块只执行一次,按顺序执行)).并且一个实例中进行修改后,再次实例化的时候能够得到前一次修改的值,只要把static想成php里面的global就好理解了 成员变量则不同,每次初始化的时候重新赋值. package com.sun; public class Tedt07 { /*…
Java中的变量有成员变量和局部变量,定义在类中方法之外的变量成为成员变量或者成员字段(域),表示一个类所具有的属性,定义为类的成员变量的变量的作用于是整个类,该变量在定义的时候不需要初始化,在使用前java会自动初始化成员变量,对于基本数据类型的的自动初始化如下: java基本类型默认初始化值 int 0 short 0 byte 0 long 0 float 0.0 double 0.0 boolean false char 0 例如: public class test{ private…
https://stackoverflow.com/questions/185844/how-to-initialize-private-static-members-in-c https://stackoverflow.com/questions/1197106/static-constructors-in-c-i-need-to-initialize-private-static-objects One idiom was proposed at: https://stackoverflow…
摘要:  Objective-C  引入了“实例变量"的概念,但同时, 也经常出现 “成员变量”的声音. 到底什么是实例变量,什么是成员变量,二者的区别是什么呢? 今天查看apple 的官方文档时(如下).https://developer.apple.com/library/mac/referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/index.html 发现了一个新的名词: 成员变量(member variable).…
摘要:  Objective-C  引入了"实例变量"的概念,但同时, 也经常出现 "成员变量"的声音. 到底什么是实例变量,什么是成员变量,二者的区别是什么呢? 在Objective-C中,定义一个类,需要有两部分: 第一是接口(interface),第二是实现(implementation). 接口对应接口文件,而实现对应了实现文件. 接口文件包含了类的声明,成员变量(member variable)和方法(method). 接口文件通常是.h 实现文件通常是.…
在ios第一版中: 我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如: 注意:(这个是以前的用法) @interface MyViewController :UIViewController { UIButton *myButton; } @property (nonatomic, retain) UIButton *myButton; @end 在现在iOS版本中: 苹果将默认编译器从GCC转换为LLVM(low leve…