//
// Person.h
// 类的加载和初始化
//
// Created by LiuWei on 15/4/15.
// Copyright (c) 2015年 LiuWei. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Person : NSObject
// 当程序启动的时候, 就会加载一次项目中所有的类, 类加载完毕后就会调用 + load方法
// 如果有继续关系,则先加载父类的 +load 方法 然后依次加载子类的 + load方法
+ (void)load;
// 只有第一次使用这个类的时候 才会加载 +initialize 方法
+(void)initialize;
- (void)test;
@end
//
// Person.m
// 类的加载和初始化
//
// Created by LiuWei on 15/4/15.
// Copyright (c) 2015年 LiuWei. All rights reserved.
//
#import "Person.h"
@implementation Person
+ (void)load
{
NSLog(@"Person ---- load");
}
+ (void)initialize
{
NSLog(@"Person ---- initialize");
}
- (void)test
{
NSLog(@"person test!");
}
@end
//
// Student.h
// 类的加载和初始化
//
// Created by LiuWei on 15/4/15.
// Copyright (c) 2015年 LiuWei. All rights reserved.
//
#import "Person.h"
@interface Student : Person
// 当程序启动的时候, 就会加载一次项目中所有的类, 类加载完毕后就会调用 + load方法
// 如果有继续关系,则先加载父类的 +load 方法 然后依次加载子类的 + load方法
+ (void)load;
// 只有第一次使用这个类的时候 才会加载 +initialize 方法
+ (void)initialize;
- (void)test;
@end
//
// Student.m
// 类的加载和初始化
//
// Created by LiuWei on 15/4/15.
// Copyright (c) 2015年 LiuWei. All rights reserved.
//
#import "Student.h"
@implementation Student
+ (void)load
{
NSLog(@"Student ---- load");
}
+ (void)initialize
{
NSLog(@"Student ---- initialize");
}
- (void)test
{
NSLog(@"Student test");
}
@end
//
// main.m
// 类的加载和初始化
//
// Created by LiuWei on 15/4/15.
// Copyright (c) 2015