Java基础知识章节梳理(六)

1.面向对象的思想

      1) 碰到问题找谁(对象,类)可以帮我们去解决这个问题

(可以理解成遇到问题找“人”帮你,那个“人”就是对象)

      2) 类与对象的关系

           类:一组相同事物的功能和行为的一个集合, 是一个抽象的概念;   对象:类的一个具体化,实例化,看得见摸得着的真正存在的

(类与对象可以分别看出学生和班长,班长帮助了你就是对象,而班长又是学生则就是类)

      3) 对象的内存 (类名 对象名 = new 类名())

           栈:等号左边的

           堆:等号右边的

           每创建一个对象,内存就会在堆中开辟一个空间,每一个空间都会被分配一个不同的地址值

(new后面的会放到堆中,而对象名会放到栈中)

      4) 成员变量和局部变量的区别

           A. 在类中的位置不同

                成员变量:类中,方法外

                局部变量:方法中或者方法声明上(形式参数)

           B. 在内存中的位置不同

                成员变量:堆内存

                局部变量:栈内存

           C. 生命周期不同

                成员变量:随着对象的创建而存在,随着对象的消失而消失;         局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

           D. 初始化值的不同

                成员变量:有默认值

                局部变量:没有默认值。必须先定义,赋值,最后使用

(牢记局部变量与成员变量的生命周期以及有无初始值)

2. 封装

      1) private:修饰成员变量之后只能在当前的类中访问,使用private将所有的成员变量修饰,变成私有的成员。

      要为每一个成员变量都提供两个方法用来设置值和获取值

           setXxx()            getXxx()

(快捷键 Alt+shift +r(eclipse中))

      2) this:谁调用了this所在的当前方法,this就代表谁;解决了成员变量和局部变量重名的问题(还有其他意思,目前就先背这俩)

3.构造方法

      专门用来创建对象的方法, 一般会自定义构造方法,更加灵活,在创建对象的时候就可以给成员变量设置值了

      1) 和成员方法的区别

           没有任何返回值类型, 连void都没有

           不能return一个具体的值,

           方法名和类名完全一样

      2) 注意点

           A.如果不自定义任何构造方法,编译器会默认赠送一个空参数空方法体的构造方法

           B.如果一旦自定义构造方法,编译器就不再赠送

           C. 构造方法也是方法,所以可以重载

           D. 一般自定义构造方法会写两个

                 空参数的构造方法和满参数的构造方法

(构造方法,就目前所理解的就是new的时候需要调用的方法)

猜你喜欢

转载自blog.csdn.net/lbusters/article/details/80327938