黑马程序员技术交流社区

标题: 面向对象小总结 [打印本页]

作者: Anlai    时间: 2015-8-24 13:03
标题: 面向对象小总结
对象的使用
                        创建对象格式:
                                类名 对象名 = new 类名();
                        访问成员变量格式:
                                对象名.变量名 ;
                        访问成员方法的格式:
                                对象名.方法名(....);
        成员变量和局部变量的区别
                (1): 位置不同
                                成员变量: 类中方法外
                                局部变量: 方法定义中或者方法声明上
                (2): 内存不同
                                成员变量: 堆内存
                                局部变量: 栈内存
                (3): 生命周期不同
                                成员变量: 随着对象的创建而产生,随着对象的消失而消失
                                局部变量: 随着方法的调用而产生,随着方法的消失而消失
                (4): 初始化值问题
                                成员变量: 存在默认值
                                局部变量: 不存在默认值,必须先赋值,然后在使用
        匿名对象
                概述: 就是没有名字的对象
                                Student s = new Student();                // 不是匿名对象,对象名是s
                                new Student();                                        // 是匿名对象
                作用:
                        a: 调用方法,仅仅调用一次
                        b: 作为方法的参数传递
        封装(private):
               
                private关键字:
                        特点:
                                (1): private是一个权限修饰符
                                (2): 可以修饰成员变量和成员方法
                                (3): 被修饰的成员只能在本类中访问
        this关键字

                        this代表的是本类对象的一个引用,谁调用我this就代表谁


构造方法
                        特点:
                                (1): 方法名和类名相同
                                (2): 没有返回值类型,连void也没有
                                (3): 没有返回值
                        作用:
                                给成员变量赋值
                        注意事项:
                                (1): 当我们没有给出构造方法的时候,系统将会提供一个默认的无参的构造方法
                                (2): 当我们给出构造方法的时候,系统将不会提供一个默认的无参的构造方法
        对象的创建步骤

                Student s = new Student();

                (1): 加载Student的字节码文件到方法区
                (2): 在栈内存中为s开辟空间
                (3): 在堆内存中为new Student()开辟空间
                (4): 对堆内存中的成员变量进行默认初始化
                (5): 对堆内存中的成员变量进行显式初始化
                (6): 通过构造方法对成员变量进行赋值
                (7): 将堆内存中的地址赋值给栈内存中的s
        static关键字
                特点:
                        (1): 随着类的加载而加载
                        (2): 优先于对象存在
                        (3): 被类的所有的对象所共享
                        (4): 可以通过类名调用.本身也可以通过对象名调用
                                 建议使用类名调用
                注意事项:
                        (1): 在静态的方法中不能存在this关键字
                        (2): 静态只能访问静态

作者: Cancer    时间: 2015-8-24 14:47
楼主整理的不错,值得一看




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2