面向对象第二天:

潜艇游戏第一天:

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

潜艇游戏第二天:

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

回顾:

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

笔记:

    构造方法:构造函数、构造器、构建器---------复用给成员变量赋初值代码
        作用:给成员变量赋初始值
        与类同名,没有返回值类型(连void都没有)
        在创建(new)对象时被自动调用
        若自己不写构造方法,则编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认提供
        构造方法可以重载
    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()---------------------------调用构造方法(了解)
    null:表示空,没有指向任何对象
    若引用的值为null,则该引用不能进行任何点操作了,
    若操作则发生NullPointerException空指针异常
    在这里插入图片描述

精华笔记:

    构造方法:构造函数、构造器、构建器---------复用给成员变量赋初值代码
        作用:给成员变量赋初始值
        与类同名,没有返回值类型(连void都没有)
        在创建(new)对象时被自动调用
        若自己不写构造方法,则编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认提供
        构造方法可以重载

    this:指代当前对象,哪个对象调用方法它指的就是哪个对象
    ​ 只能用在方法中,方法中访问成员变量之前默认有个this.
    this的用法:

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

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

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

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

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

补充:

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

    内存管理:由JVM来管理的
        堆:new出来的对象(包括成员变量)
        栈:局部变量(包括方法的参数)
        方法区:----------面向对象第五天讲

    成员变量:写在类中,方法外--------有默认值
    局部变量:方法中------------------------没有默认值

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

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

    明日单词:

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值