CGB2202面向对象第2天

面向对象第二天:

潜艇游戏第一天:

  1. 创建6个类,创建World类并测试

潜艇游戏第二天:

  1. 给6个类添加构造方法,并测试

回顾:

  1. 什么是类?什么是对象?
  2. 如何创建类?如何创建对象?如何访问成员?
  3. 方法的重载(overload):-----------------方便用户的调用
    • 发生在同一类中,方法名相同,参数列表不同
    • 编译器在编译时会根据方法的签名自动绑定方法

笔记:

  1. 构造方法:构造函数、构造器、构建器---------复用给成员变量赋初值代码
    • 作用:给成员变量赋初始值
    • 与类同名,没有返回值类型(连void都没有)
    • 在创建(new)对象时被自动调用
    • 若自己不写构造方法,则编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认提供
    • 构造方法可以重载
  2. this:指代当前对象,哪个对象调用方法它指的就是哪个对象
    ​ 只能用在方法中,方法中访问成员变量之前默认有个this.
    this的用法:
    • this.成员变量名-------------访问成员变量

      成员变量与局部变量同名时,若想访问成员变量则this不能省略

      class Student {
              
              
          String name; //成员变量(整个类中)
          int age;
          String address;
          //局部变量(当前方法中)
          Student(String name,int age,String address){
              
              
              this.name = name;
              this.age = age;
              this.address = address;
          }
      
          void study(){
              
              
              System.out.println(name+"在学习...");
          }
          void sayHi(){
              
                                     
              System.out.println("大家好,我叫"+name+",今
                                 年"+age+"岁了,家住"+address);
              }
          }
      
    • this.方法名()-----------------调用方法(了解)

    • this()---------------------------调用构造方法(了解)

  3. null:表示空,没有指向任何对象
    若引用的值为null,则该引用不能进行任何点操作了,
    若操作则发生NullPointerException空指针异常
    在这里插入图片描述

精华笔记:

  1. 构造方法:构造函数、构造器、构建器---------复用给成员变量赋初值代码

    • 作用:给成员变量赋初始值
    • 与类同名,没有返回值类型(连void都没有)
    • 在创建(new)对象时被自动调用
    • 若自己不写构造方法,则编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认提供
    • 构造方法可以重载
  2. this:指代当前对象,哪个对象调用方法它指的就是哪个对象
    ​ 只能用在方法中,方法中访问成员变量之前默认有个this.
    this的用法:

    • this.成员变量名-------------访问成员变量

      成员变量与局部变量同名时,若想访问成员变量则this不能省略

    • this.方法名()-----------------调用方法(了解)

    • this()---------------------------调用构造方法(了解)

  3. null:表示空,没有指向任何对象
    若引用的值为null,则该引用不能进行任何点操作了,
    若操作则发生NullPointerException空指针异常

补充:

  1. 成员变量和局部变量是可以同名的:
    ----使用的时候默认采取就近原则
    ----若想访问成员变量,则this不能省略

  2. 内存管理:由JVM来管理的

    • 堆:new出来的对象(包括成员变量)
    • 栈:局部变量(包括方法的参数)
    • 方法区:----------面向对象第五天讲
  3. 成员变量:写在类中,方法外--------有默认值
    局部变量:方法中------------------------没有默认值

  4. 数组也是一个对象,所以数组对象也存储在堆中,
    将数组的元素当作成员变量一并存储在堆中

  5. 内存图:
    在这里插入图片描述

  6. 明日单词:

    1)extends:继承
    2)super:超级
    3)up:向上
    4)load:加载
    5)animal:动物
    6)tiger:老虎
    7)Sea:海洋
    8)object:对象
    

猜你喜欢

转载自blog.csdn.net/jason13579/article/details/123368387