构造方法 1.对象创建的原理 new的拆分两部曲 Person *p = [Person alloc]; 分配内存(+alloc) Person *p = [p init]; 初始化(-init) 合并: Person *p = [[Person alloc] init]; 2.init方法的重写 - (void) init { if(self = [super init]) { _age = ;//想在对象创建完毕后 成员变量马上就有一些默认的值 } return self; } 3.自定义构…
一.类的深入研究 (一)类的本质 类本身也是一个对象,是class类型的对象,简称“类对象”. Class类型的定义: Typedef struct obj class *class; 类名就代表着类对象,每个类只有一个类对象. 利用class 创建 Person类 利用Person 创建Person类型的对象 Person *p=[[Person alloc] init]; 获取内存中的类对象有两种方法: (1)class c=[p claa];//指向类的对象的指针调用class方法 (2)…
org.reflections 接口通过反射获取实现类源码研究 版本 org.reflections reflections 0.9.12 Reflections通过扫描classpath,索引元数据,并且允许在运行时查询这些元数据. 使用Reflections可以很轻松的获取以下元数据信息: 获取某个类型的所有子类:比如,有一个父类是Interface,可以获取到Interface的所有子类. 获取某个注解的所有类型/字段变量,支持注解参数匹配. 使用正则表达式获取所有匹配的资源文件 获取特定…
OC分类(类目/类别) 和 类扩展 - 全解析   具体见: oschina -> MyDemo -> 011.FoundationLog-OC分类剖析 http://blog.csdn.net/u013378438/article/details/44491703     关于OC分类,非常重要的知识点:   >>分类能够对实例方法,类方法进行扩展,但不能够添加类的属性及实例变量. >>分类能够像类本身一样,调用self来访问类的方法,属性. 但对于通过新建.h与.m…
第一个,就是单例模式,虽然分为"懒汉模式"和"醉汉模式",但在jvm中有且只有这样的一个对象!这样才能称为单例(详细请参照设计模式) 第二个,工具类,建义工具类用private,因为工具类里的行为和属性都是静态,所以jdk希望我们不要实例化,只需要通过类名来访问.如果用了private就不能继承了, private构造方法与final修饰类的区别  :          private,不可以被继承,不能创建实例.   final,不可以被继承,可以创建实例. 把构…
我们在Springboot中经常使用@Value注解来获取配置文件中的值,像下面这样 @Component class A { @Value("${user.value}") private String configValue; public void test() { System.out.println(configValue); } } 但有时我们需要这个类拥有一个有参的构造方法,比如 @Component class A { @Value("${user.value…
总结 标号 主题 内容 一 OC的私有方法 私有变量/私有方法 二 @property 概念/基本使用/寻找方法的过程/查找顺序 三 @synthesize @synthesize概念/基本使用/注意点 四 id 静态类型和动态类型/有动态类型原因/id数据类型与静态类型 五 new new方法实现原理/alloc与init 六 构造方法 重写init方法/使用注意/instancetype的作用 七 自定义构造方法 格式/继承中的构造方法 八 自定义类工厂方法 自定义类工厂方法/子父类中的类工…
群里我师傅给我的答案: unit Unit4; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm4 = class(TForm) Button1: TButton; procedure Button1…
本篇文章主要针对javascript的属性进行分析,由于javascript是一种基于对象的语言,本身没有类的概念,所以对于javascript的类的定义有很多名字,例于原型对象,构造函数等,它们都是指javascript中的类.例如:function Person(){} var p = new Person(); 这里的Person可以看作一个类,而p则是这个类的实例也可以称为对象. 这里主要分析js里面的四种属性. 私有属性,指定义在类中用var声明的,即var propertyName…
针对静态方法有以下一些前提: 静态方法和实例方法的区别是静态方法只能引用静态变量,静态方法通过类名来调用,实例方法通过对象实例来调用 每个线程都有自己的线程栈,栈与线程同时创建,每一个虚拟机线程都有自己的程序计数器PC,在任何时刻,一个虚拟机线程只会执行一个方法的代码,这个方法称为该线程的当前方法,如果这个方法不是native的,程序计数器就保存虚拟机正在执行的字节码指令的地址. 线程调用方法的时候会创建栈帧,用于保存局部变量表和操作数栈以及指向该类常量池的引用 静态方法虽然是同一个方法,但是不…