1.import和include的区别;
    import可以防止头文件的重复包含  

2.NSLog 和printf的区别:
    1,NSLog可以自动换行, 输出调试信息, printf不能.
    2,NSLog 函数的参数是一个NSString 对象
    3,printf函数的参数是一个字符串常量指针

3.当创建一个对象的时候:Person *p1 = [Person new],做了三件事情:
  1,申请堆内存空间;
  2,给实例变量初始化;
  3,返回所申请空间的首地址;

4. 类方法和对象方法的比较
  1. 对象方法以减号开头, 可以使用成员变量
  2.类方法以加号开头,不能使用成员变量

5 匿名对象优缺点 :
  优点: 可以简化代码,方便方法调用;节省内存空间
  缺点: 匿名对象实例化以后,只能正确的使用一次成员变量;

6. 什么是封装:
  1. 封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
  封装的好处:
    1. 将变化隔离。(不管里面怎么变,使用者不需要知道)
    2. 便于使用。(使用者只需按照一定的方法使用就可以了)
    3. 提高重用性。(任何人都可以对已封装好的功能进行操作)
    4. 提高安全性。(由于暴露给使用者的只是一些外在的操作环节,而不是里面本质的东西,所以就提高了对他的维护性,也就是安全性)

7.作用域范围:
  @public : 作用于所有的类
  @protected: 作用于当前类,子类(派生类)
  @private: 作用于当前类
  @package: 作用框架级别的

8.id和instancetype类型区别:
  1. id和instancetype都可以用来作为方法的返回值
  2. id可以用来定义类型,instancetype不能用来定义类型
  3. instancetype可以精确返回值类型

9.自定义构造方法的规范
  (1)一定是对象方法,以减号开头
  (2)返回值一般是id类型或者instancetype类型
  (3)方法名一般以initWith开头  

10.nil和Nil及NULL、NSNull的区别:

      nil: 是一个对象值;如果我们要把一个对象设置为空的时候就用nil; 
        A null pointer to an Objective-C object. ( #define nil ((id)0) ) 
      Nil :是一个类对象的值,如果我们要把一个Class类型的对象设置为空的时候就用Nil ; A null pointer to an Objective-C class. 
      NULL 是一个通用指针;A null pointer to anything else. ( #define NULL ((void *)0) ) 
      NSNull 是一个对象,它用在不能使用nil的场合;A class defines a singleton object used to represent null values in collection objects

                 (which don't allow nil values). 
      [NSNull null]: The singleton instance of NSNull. 
      [NSNull null]是一个对象,他用在不能使用nil的场合。

1.import和include区别 2.NSLog 和printf区别 3.创建对象做的事情 4. 类和对象方法比较 5 匿名对象优缺点 6. 封装 7.作用域范围 8.id和instancetype 9.自定义构造方法规范 10.nil和Nil及NULL、NSNull区别的更多相关文章

  1. JAVA笔记2__类/封闭性/构造方法/方法的重载/匿名对象

    public class Main { public static void main(String[] args) { Chicken c1 = new Chicken(); Chicken c2 ...

  2. OC中自定义构造方法

    格式 -(instancetype)init(){ self=[super init] if(self){ } return self; } 自定义构造方法规范 1)一定是对象方法,以减号开头 2)返 ...

  3. OC 类方法,对象方法,构造方法以及instancetype和id的异同

    OC 类方法,对象方法,构造方法以及instancetype和id的异同 类方法: 类方法是可以直接使用类的引用,不需要实例化就可以直接使用的方法.一般写一些工具方法. 类方法: 声明和实现的时候,以 ...

  4. 2017.10.23 Java 面向对象深入学习---final 关键字、static关键字、匿名对象等

    今日内容介绍 1.final 关键字 2.static 关键字 3.匿名对象 4.内部类 5.包的声明与访问 6.访问修饰符 7.代码块 第一节课 01(面向对象)final关键字概念.avi 02: ...

  5. #import和#include的区别 关键字@class的作用

    一.#import和#include的区别当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误但是使用两次#import的话,不 ...

  6. 六.OC基础--1. id和instancetype类型,2.动态类型检测,3.响应方法,构造方法,4.重写构造方法,5.自定义构造方法

    1. id和instancetype类型, id和instancetype类型区别: 1. id和instancetype都可以用来作为方法的返回值 2. id可以用来定义类型,instancetyp ...

  7. #import、#include以及@class的区别

    一.#import和#include的区别 当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误 但是使用两次#import的话 ...

  8. IOS开发之----#import、#include和@class的区别

    1. 一般来说,导入objective c的头文件时用#import,包含c/c++头文件时用#include. 2. #import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题.&l ...

  9. #import、#include、#import<>和#import””的区别

    一.#import与#include #import不会引起交叉编译的问题.因为在Objective-C中会存在C/C++和Object-C混编的问题,如果用#include引入头文件,会导致交叉编译 ...

随机推荐

  1. xtu summer individual 1 A - An interesting mobile game

    An interesting mobile game Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on H ...

  2. php面向对象(设计模式 工厂模式)

    //设计模式//单例模式//类的计划生育//让该类在外界无法造成对象//让外界可以造一个对象,做一个静态方法返回对象//在累里面可以通过静态变量控制返回对象只能有一个 //class Cat//{// ...

  3. squid重定向(python 代码)

    #!/usr/bin/python2.7 # coding: utf-8 import sys,os,stat import transport def redirect_url(line,concu ...

  4. HDU 5242 利用树链剖分思想进行贪心

    题目大意: 在给定带权值节点的树上从1开始不回头走到某个底端点后得到所有经过的点的权值后,这些点权值修改为0,到达底部后重新回到1,继续走,问走k次,最多能得到多少权值之和 这其实就是相当于每一次都走 ...

  5. jvm参数设置 -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M

    -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问题: 1. 各个参数的含义什么? 2. 为什么有的机器我将- ...

  6. BZOJ1126: [POI2008]Uci

    $n \leq 100,m \leq 100$,$n*m$的01矩形,问从左下角开始往上走,每次转弯只能向右,不能经过重复点,不能撞到1,到达点$(x,y)$的方案数,$mod \ \ k$. 感人肺 ...

  7. springmvc和dubbo整合时,不配置spring listener报错找不到/WEB-INF/config/applicationContext.xml

    原因,dubbo2.6.3版本开始就需要先在listener中配置容器,否则报错,2.6.2版本则不需要

  8. 微服务架构的基础框架选择:Spring Cloud还是Dubbo?

    本文转自:http://mt.sohu.com/20160803/n462486707.shtml 最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论 微服务架构 .近期也看到 ...

  9. Weblogic性能优化(图解)

    分类:Weblogic (2034) (1) 若是觉得对您有一丢丢的帮助,烦请顶一下哦,激励我码出更多的帖子,^_^谢谢! 1.数据源性能优化 1.1连接池参数配置 登录weblogic控制台,占击“ ...

  10. java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称而且未指定默认驱动程序解决方法

    开发程序须要登录功能 .就不想用大数据库.直接用java连接access.     在自己机器上一切正常,  url直连 和配置数据源都没有问题.  公布到windows server2008 上 , ...