面向对象第3天
潜艇游戏第一天:
- 创建了6个类,创建World类并测试
潜艇游戏第二天:
- 给6个类添加构造方法,并测试
潜艇游戏第三天:
- 设计侦察潜艇数组、鱼雷潜艇数组、水雷潜艇数组、水雷数组、深水炸弹数组,并测试
- 设计SeaObject超类,设计6个类继承超类
- 给SeaObject设计两个构造方法,6个派生类分别调用
回顾:
- 构造方法:
- 给成员变量赋初始值
- 与类同名,没有返回值类型(连void都没有)
- 在创建对象时被自动调用
- 若自己不写构造方法,则编译器默认提供一个无参构造方法,若自己写了构造,则不再默认提供
- 可以重载
- this:指代当前对象,哪个对象调用方法它指的就是哪个对象
this的用法:- this.成员变量名----访问成员变量(成员变量与局部变量同名时,访问成员变量必须加this.)
- this.方法名()--------调用方法(了解)
- this()------------------调用构造方法(了解)
- null:表示空,没有指向任何对象,若引用的值为null,则该引用不能进行任何点操作了,
若操作则发生NullPointerException空指针异常
笔记:
- 引用类型数组:
- 与基本类型数组的区别:
- 给数组元素赋值必须new一下
- 若想访问对象数据必须通过数组元素打点
Student[] stus = new Student[3]; //创建Student数组对象 stus[0] = new Student("zhangsan",25,"LF"); //创建Student对象 stus[1] = new Student("lisi",26,"JMS"); stus[2] = new Student("wangwu",24,"SD")
- 与基本类型数组的区别: