A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

面向对象:
        什么是面向对象?
                1、面向对象是基于面向过程,面向对象强调的对象,面向过程强调的是过程(函数)。
                2、聊到面向对象,不得不提的就是它的三个思想特点:
                        A:更符合咱们人们的思考习惯。
                        B:把复杂的事情变得简单化。
                        C:把程序员从执行者变成了指挥者。
                3、举例:
                         摊煎饼,买电脑(最好是能结合当时的场景来说)
                4、万物皆对象。
       
        面向对象(程序)开发:
                就是不断的创建对象,使用对象,指挥对象做事情。

        面向对象(程序)设计:
                指的就是维护 各个对象之间的关系。
                推荐:
                        UML统一建模语言
                        人:闫闳

        三大特征:封装,继承,多态。

        核心概念:
                类: 属性和行为的集合,一个抽象的概念。
                对象:类的具体体现,实现。
                属性(成员变量):名词,用来描述事物身上的信息的
                        和以前咱们写局部变量一样,只不过位置发生改变,现在写在类中,方法外。
                行为(成员方法):动词,事物能做什么
                        和以前咱们定义方法是一样的,先把static去掉。

                Java语言最基本的单位是:类。
                计算机最基本的存储单位是:字节。

        如何使用类中的内容:
                1、创建该类的对象。
                        格式:  类名 对象名        = new 类名();
                                        Student s = new Student();
                2、通过 对象. 的形式调用。
                        调用成员变量:
                                对象名.成员变量
                        调用成员方法:
                                对象名.成员方法
        从现在开始,咱们可以在一个Java文件中写两个类,
                一个是基本类,
                一个是测试类(就是带main的类,用于测试基本类中的内容的)。
                文件名必须和测试类的名字一致。

        学生类:Student
                属性:姓名name,年龄age,性别gender
                行为:学习study,睡觉sleep

        手机类:Phone
           属性:品牌(brand) ,价格(price)
           行为:打电话(call),发信息(sendMessage),玩游戏(playGame)

  汽车类(Car)
          属性:车的颜色(color),车的轮胎个数(num)
          行为:车会跑(run)



内存:
        栈:局部变量  代码的执行。
                特点:先进后出。
                          用完就释放。

        堆:所有new出来的东西(对象)
                特点:
                        没有任何引用指向该对象,该对象就是垃圾,会在不确定的时间被GC(Java中的垃圾回收机制)回收。


局部变量和成员变量的区别:
        1、在类中的定义位置不同。
                局部变量:方法中,或者方法形参上。
                成员变量:类中,方法外。
        2、在内存中的存储位置不同。
                局部变量:栈
                成员变量:堆
        3、生命周期不同。
                局部变量:和方法相关。
                成员变量:和对象相关。
        4、初始化值不同。
                局部变量:没有默认值,必须先定义,在赋值,然后才能使用。
                成员变量:有默认值。
                        整型:0
                        浮点型:0.0
                        字符:'\u0000'
                        布尔:false
                        引用类型:null

        在使用变量的过程中, 查找变量的顺序是什么?
                遵循”就近原则“,局部位置有就使用,没有就去成员位置找,有就是用,没有就报错(不严谨,先这样记忆)。

                当我们看到一个方法的形参的数据类型是一个自定义类型的时候,其实要的就是这个类的对象
        匿名对象:
                概述:指的就是没有名字的对象。
                应用:
                        A:当对 对象(成员)方法仅调用一次的时候。
                        B:匿名对象可以作为实际参数进行传递。


封装:
        概述:隐藏对象的属性和实现细节,仅对外提供一个公共的访问方式。
                 怎么隐藏?
                        通过private关键字来实现封装。
                                private:
                                        是一个权限修饰符。
                                        可以用来修饰成员变量和成员方法
                                        被它修饰的内容,只能在本类中被访问。

                                注意:暂时理解即刻,第十天还会重点讲。
                                          权限修饰符:private 默认 protected public

                                封装指的就是private,这句话对吗?
                                        不对,因为private仅仅是封装的一种体现,我们学过的类,函数都是封装的体现。

                 公共的访问方式是什么?
                          getXxx() 和 setXxx()方法
                          问:get() 和 set()必须成对出现吗?
                                不一定,看需求,如果只赋值就写set(),如果只获取值就写get().
                                因为我们现在还不是特别熟练,所以不管用不用,get()和set()都写上。
                          //getName() setName()
        好处:
                复用性。
                安全性。
        原则:
                把不需要对外提供的内容给封装起来。
                大白话解释:把所有的成员变量都封装起来。
       
        this关键字:
                概述:代表本类当前对象的引用。
                          大白话理解:谁调用,this就代表谁。
                应用:
                        就是用来解决: 局部变量隐藏成员变量值的问题。

        写类的格式:
        class 类名 {
                //成员变量        全部私有

                //构造方法

                //get()和set()方法

                //成员方法
        }



       

               



9 个回复

倒序浏览
总结的太全面了
回复 使用道具 举报
目前正上到這,感謝分享
回复 使用道具 举报
基础班上的不错,继续努力!
回复 使用道具 举报
加油,黑马!明天属于你!
回复 使用道具 举报
加油
回复 使用道具 举报
阿西!!!
回复 使用道具 举报
还没学到,提前看看,谢谢
回复 使用道具 举报
感谢.正准备上这里,先了解了一下
回复 使用道具 举报
给个赞!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马