精华笔记:
1. 什么是类?什么是对象?
- 现实生活是由很多很多对象组成的,基于对象抽出了类
- 对象:软件中真实存在的单个个体/东西
类:类型/类别,代表一类个体
- 类是对象的模板/模子,对象是类的具体的实例
- 类中可以包含:
- 对象的属性/特征/数据------------------------------成员变量
- 对象的行为/动作/功能------------------------------方法
- 一个类可以创建多个对象
2. 如何创建类?如何创建对象?如何访问成员?
3. 方法的签名:方法名+参数列表
4. 方法的重载(overload/overloading):-----------------------------便于用户的调用
- 发生在同一类中,方法名相同,参数列表不同
- 编译器在编译时会根据方法的签名自动绑定方法
## 笔记:
1. 什么是类?什么是对象?
- 现实生活是由很多很多对象组成的,基于对象抽出了类
- 对象:软件中真实存在的单个个体/东西
类:类型/类别,代表一类个体
- 类是对象的模板/模子,对象是类的具体的实例
- 类中可以包含:
- 对象的属性/特征/数据------------------------------成员变量
- 对象的行为/动作/功能------------------------------方法
- 一个类可以创建多个对象
2. 如何创建类?如何创建对象?如何访问成员?
```java
package ooday01;
//学生类
public class Student {
//成员变量
String name;
int age;
String address;
//方法
void study(){
System.out.println(name+"在学习...");
}
void sayHi(){
System.out.println("大家好,我叫"+name+",今年"+age+"岁了,家住"+address);
}
}
package ooday01;
//学生类的测试类
public class StudentTest {
public static void main(String[] args) {
//创建一个学生对象
Student zs = new Student();
//访问成员变量
zs.name = "zhangsan";
zs.age = 24;
zs.address = "河北廊坊";
//调用方法
zs.study();
zs.sayHi();
Student ls = new Student();
ls.name = "lisi";
ls.age = 26;
ls.address = "黑龙江佳木斯";
ls.study();
ls.sayHi();
//1)创建了一个学生对象
//2)给成员变量赋默认值
Student ww = new Student();
ww.study();
ww.sayHi();
}
}
```
3. 方法的签名:方法名+参数列表
4. 方法的重载(overload/overloading):-----------------------------便于用户的调用
- 发生在同一类中,方法名相同,参数列表不同
- 编译器在编译时会根据方法的签名自动绑定方法
```java
package ooday01;
//重载的演示
public class OverloadDemo {
public static void main(String[] args) {
Aoo o = new Aoo();
o.show();
o.show("zhangsan");
o.show(25);
o.show("zhangsan",25);
o.show(25,"zhangsan");
}
}
class Aoo{
void show(){}
void show(String name){}
void show(int age){}
void show(String name,int age){}
void show(int age,String name){}
//int show(){ return 1; } //编译错误,重载与返回值类型无关
//void show(String address){} //编译错误,重载与参数名称无关
}
```
## 补充:
1. OO:面向对象
OOA:面向对象分析
OOD:面向对象设计
OOAD:面向对象分析与设计
OOP:面向对象编程----------------------你们毕业之后所参与的
2. 高质量的代码:-----------你们以后的目标拿年薪
- 复用性好、扩展性好、维护性好、可移植性好、健壮性好、可读性好、效率好......
3. 类:是一种引用数据类型
4. 创建对象:
```java
引用
数据类型 引用类型变量 指向 对象
Student zs = new Student(); //创建了一个Student型的引用zs,指向了一个学生对象
//zs代表了那个对象,对zs的使用就是对那个对象的使用
```
5. 默认值规则:
```java
byte,short,int,long,char-----------------0
float,double-----------------------------0.0
boolean----------------------------------false
引用类型-----------------------------------null
```
6. 潜艇游戏需求:
- 所参与的角色:
- 战舰、炸弹、侦察潜艇、鱼雷潜艇、水雷潜艇、水雷
- 角色间的关系:
- 战舰发射炸弹
- 炸弹可以打潜艇(侦察潜艇、鱼雷潜艇、水雷潜艇),若打中了:
- 潜艇消失、炸弹消失
- 得东西:
- 打掉侦察潜艇,玩家得10分
- 打掉鱼雷潜艇,玩家得40分
- 打掉水雷潜艇,战舰得1条命
- 水雷潜艇发射水雷
- 水雷可以打战舰,若打中:
- 水雷消失
- 战舰减1条命(命数为0时游戏结束)