javase——day02

面向对象思想的概述

面向对象思想的举例

类和对象的关系

类的定义

对象的创建及其使用

导包:指出需要使用的类,在什么位置

对于和当前类属于同一个包的情况,可以省略导包语句不写

创建:类名称 对象名 = new 类名称();

使用:

使用成员变量:对象名.成员变量名

使用成员方法:对象名.成员方法名(参数)

 

手机类练习

一个对象的内存图

javase——day02

两个对象使用同一个方法的内存图

javase——day02

两个引用指向同一个对象的内存图

javase——day02

使用对象类型作为方法的参数

javase——day02

使用对象方法作为方法的返回值

javase——day02

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

  1. 定义的位置不一样

    局部变量:在方法内部

    成员变量:在方法外部,直接写在类当中

  2. 作用范围不一样

    局部变量:只有方法当中才可以使用,除了方法即不能再用

    成员变量:整个类都可以使用。

  3. 默认值不一样

    局部变量:没有默认值,如果要想使用,必须手动进行复制

    成员变量:如果没有赋值,会有默认值,规则和数组一样

  4. 内存位置不一样

    局部变量:位于栈内存

    成员变量:位于堆内存

  5. 生命周期不一样

    局部变量:随着方法进栈而诞生,随着方法出栈而消失。

    成员变量:随着对象创建而诞生,随着独享被垃圾回收而消失。

 

 

面向对象三大特征之封装性

private关键字的作用及使用

private:不出本类不受影响,超出本类无法直接调用

练习使用private关键字定义学生类

this关键字的作用

当方法的局部变量和类的成员变量重名的时候,根据就近原则,优先使用局部变量。

如果需要访问本类中的成员变量,需要使用格式:

this.成员变量

 

 

构造方法

专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法

注意事项:

  1. 构造方法的名称必须和所在的类名称完全一样,就连大小写都一样

  2. 构造方法不要写返回值类型,连void都不写

  3. 构造方法不能return一个具体的值

  4. 如果没有编写任何构造方法,那么编辑器将会默认赠送一个构造方法,没有参数、方法体什么事都不做。

  5. 一旦编写了至少一个构造方法,那么编译器将不再赠送

  6. 构造方法可以重载

 

 

定义一个标准类

上一篇:Day02


下一篇:typora简单的使用