>[success] # 类
1. 类是对现实生活中一类具有共同属性和行为的事物的抽象【类】是对事物,也就是对象的一种描述, 根据类去创建对象
2. 用来描述一类事物的类,专业叫做:**Javabean类**。在`Javabean`类中,是不写`main`方法的。
3. 在以前,编写**main方法的类,叫做测试类**。我们可以在测试类中创建`javabean`类的对象并进行赋值调用。
>[danger] ##### java 类
* 通常情况下,当类名由多个单词组成时,要求每个单词首字母都要大写,`驼峰` 命名
* 一个`java`文件中可以定义多个`class`类,且**只能一个类是`public`修饰,而且`public`修饰的类名必须成为代码文件名**。实际开发中**建议还是一个文件定义一个class类**。
* 成员变量的完整定义格式是:`修饰符 数据类型 变量名称=初始化值;` **一般无需指定初始化值,存在默认值。**
| 数据类类 | 默认值 |
| --- | --- |
| byte、short、int、long (基本类型) | 0 |
| float、double (基本类型) | 0.0 |
| boolean (基本类型)| false |
| 类、接口、数组、String (引用类型) | null |
~~~
class 类名 {
成员变量(表示属性,一般是名词);
成员方法(表示行为,一般是动词);
构造器;
代码块;
内部类;
}
~~~
>[danger] ##### 创建类
1. 类的组成是由**属性**和**行为**两部分组成
* 属性:在类中通过成员变量来体现
* 行为:在类中通过成员方法来体现
2. 类的定义步骤:
* 定义类
* 编写类的成员变量
* 编写类的成员方法
```java
public class 类名 {
// 成员变量
变量1的数据类型 变量1;
变量2的数据类型 变量2;
…
// 成员方法
方法1;
方法2;
}
```
>[danger] ##### 创建对象
* 当一个类定义完毕后,可以使用new关键字来创建该类的对象,这个过程叫做类的`实例化`。
* 创建对象的本质就是在内存空间的堆区申请一块存储区域, 用于存放该对象独有特征信息
* 创建对象的格式 `类名 对象名 = new 类名()`
* 调用成员的格式 `对象名.成员变量` / `对象名.成员方法()`
>[danger] ##### 案例
* 创建一个类 并且 生成一个对象
~~~
public class Person {
// 声明属性
int age = 18;
String name = "张三";
// 声明方法
public void sleep() {
System.out.println("睡觉");
}
// 执行方法的入口文件
public static void main(String[] args) {
Person p = new Person();
System.out.println(p.age);
p.sleep();
}
}
~~~
>[info] ## 如何去创建设计类
1. 需要先思考**对象代表什么,就得封装对应的数据,并提供数据对应的行为**
* 举个例子例如人画圆,我们对人和圆创建两个类依次是`Person` 和 `Circle`,但画圆的方法在正常感觉下应该是属于`Person `类的但实际要注意谁提供了数据行为就应该属于谁, `Circle`这个类提供画圆形所具备的一切属性,因此画圆的方法应该属于`Circle`这个类,人仅仅是去调用`Circle`这个类这个方法
* 例如人关门,门虽然是人关上的,但关门的行为其实是属于门
>[danger] ##### 编写人画圆
* 设计一个`Person` 类
~~~
public class Person{
public String name;
public String age;
}
~~~
* 设计一个`Circle`类
~~~
public class Circle {
double radius;
public void draw() {
System.out.print("画圆形");
}
}
~~~
>[danger] ##### 总结
1. 客观存在的事物皆为对象 ,所以我们也常常说万物皆对象
* 类的理解
* 类是对现实生活中一类具有共同属性和行为的事物的抽象
* 类是对象的数据类型,类是具有相同属性和行为的一组对象的集合
* 简单理解:类就是对现实事物的一种描述
* 类的组成
* 属性:指事物的特征,例如:手机事物(品牌,价格,尺寸)
* 行为:指事物能执行的操作,例如:手机事物(打电话,发短信)
* 类和对象的关系
* 类:类是对现实生活中一类具有共同属性和行为的事物的抽象
* 对象:是能够看得到摸的着的真实存在的实体
* 简单理解:**类是对事物的一种描述,对象则为具体存在的事物**
- windows -- 环境变量
- Vscode -- 编写java
- 初始java
- java -- 关键字
- 编写第一个java程序
- java -- 注释
- 计算机存储 -- 进制
- java -- 类型
- java -- 变量
- 数字类型
- 布尔类型
- 字符类型
- 类型转换
- 双等比较是什么
- java -- 运算符
- 算数运算符
- 字符串拼接
- 关系/比较运算符
- 自增减运算符
- 逻辑运算符
- 三目运算
- 赋值运算符
- 移位运算符
- 位运算符
- 运算符优先级
- java -- 流程控制语句
- if /else if /if -- 判断
- switch case分支结构
- for -- 循环
- 用双重for循环
- while -- 循环
- do while -- 循环
- 案例练习
- java -- 数组
- 数组的存储
- 数组的增删改查
- 数组的特点
- 数组案例
- 二维数组
- 数组的工具方法
- java -- 方法
- java -- 方法的重载
- java -- 方法的调用流程
- java -- 类方法传参注意事项
- java -- 方法练习案例
- 对比 return break continue
- for each循环
- java -- 基础练习
- java -- 面向对象
- java -- 创建类和对象
- java -- 访问控制符
- java -- 类成员方法
- java -- 构造方法
- java -- this
- java -- 封装
- java -- 对象内存图
- java -- 创建对象案例
- java -- static
- java -- 继承
- super -- 关键字
- java -- 构造块和静态代码块
- java -- 重写
- java -- final
- java -- 多态
- java -- 抽象类
- java -- 接口
- 引用类型数据转换
- 综合案例
- java -- 内部类
- java -- 回调模式
- java -- 枚举类型
- java -- switch 使用枚举
- java -- 枚举方法使用
- java -- 枚举类实现接口
- java -- javaBean
- java -- package 包
- java -- import
- java -- 递归练习
- java -- 设计模式
- 单例模式
- java -- 注解
- java -- 元注解
- Java -- 核心类库
- java -- 处理字符串
- Java -- String
- String -- 常用方法
- String -- 正则
- Java -- StringBuilder 和 StringBuffer
- 知识点
- Java -- StringJoiner 字符串拼接
- 练习题
- 字符串的总结
- Java -- 包装类
- Integer
- Double
- Boolean
- Character
- java -- 集合类
- java -- util.Collection
- Iterator接口
- java -- util.List
- java -- ArrayList
- java -- util.Queue
- java -- util.Set
- java -- util.Map
- java -- util.Collections
- Java -- Math
- Java -- java.lang
- Java -- Object
- Java -- 获取当前时间戳
- Java -- 异常
- Java -- java.util
- java -- Date
- java -- Calender
- Java -- java.text
- Java -- SimpleDateFormat
- Java -- java.time
- Java -- java.io
- java -- io.File
- java -- 泛型
- IDEA -- 用法