1.分类思想
1.1分类思想概述:
分工协作,专人干专事
1.2分类示例(学生信息管理系统)
Student类 标准学生类,封装键盘录入的学生信息(id , name , age , birthday)
StudentDao类 Dao : (Data Access Object 缩写) 用于访问存储数据的数组或集合
StudentService类 用来进行业务逻辑的处理(例如: 判断录入的id是否存在)
StudentController类 和用户打交道(接收用户需求,采集用户信息,打印数据到控制台)
要点
分类的思想,不同的类做不同的事,分工明确,更便于维护(例如:CPU,内存,硬盘)
分包思想,假如一个项目需要开发10000个类,不能都放一个包下,最好将相关功能的一系列类放一个包下,分门别类管理,便于维护,还可以预防类重名。(不同的包下允许有同名的类)
Controller: 前台客服接待(负责输入和输出)
Service: 业务员,处理业务逻辑(目前业务员处理的业务很简单,例如:判断学号是否存在,其他的crud(增删改查),直接调用dao)
Dao: 负责数据的保存和获取,用集合或数组保存
请求流程
Controller---调用---->Service-------调用--------->Dao(不能跨层调用,例如Controller不能直接掉用dao)
返回流程
Dao-----------返回----->Service-------返回--------->Controller(不能跨层返回,Dao不能直接返回给Controller)
2.包的概述和定义
2.1分包思想概述
如果将所有的类文件都放在同一个包下,不利于管理和后期维护,所以,对于不同功能的类文件,可以放在不同的包下进行管理
2.2包的概述
包
本质上就是文件夹
创建包
多级包之间使用 " . " 进行分割
多级包的定义规范:公司的网站地址翻转(去掉www)
比如:www.bibabo.com
后期我们所定义的包的结构就是:com.bibabo.其他的包名包的命名规则
字母都是小写
要点:
1.包的作用?
对类进行分类管理(相关系列功能的类放一个包下,例如:java.util包, Scanner,Random,)
防止类重名(不同的包下,允许有同名的类)
2.包的定义格式(一般 idea 都会自动帮我们写上)
package com.bibabo.domain;
3.包的命名规则?
全部小写
公司域名倒置.项目名.功能模块名
com.bibabo.studentmanager.controller
com.bibabo.studentmanager.service
com.bibabo.studentmanager.dao
com.bibabo.studentmanager.domain
3.包的注意事项和类访问
- package语句必须是程序的第一条可执行的代码
- package语句在一个java文件中只能有一个
- 如果没有package,默认表示无包名
类与类之间的访问:
同一个包下的访问
不需要导包,直接使用即可
不同包下的访问
1.import 导包后访问
2.通过全类名(包名 + 类名)访问
注意:import 、package 、class 三个关键字的摆放位置存在顺序关系
package 必须是程序的第一条可执行的代码
import 需要写在 package 下面
class 需要在 import 下面
要点:
1.一是包的注意事项,二是带包的类的访问
2. 包的注意事项
- package 语句必须是程序的第一条可执行的代码
- package 语句在一个java文件中只能有一个
- 如果没有 package 声明,表示在一个默认包下
3. 同一个包下的访问
不需要导包,直接使用即可
不同包下的访问
1.import 包名.类名; // import java.util.Scanner; //导入包下所有的类
//import java.util.*;
2.通过全类名(包名.类名)访问,例如:
java.util.Scanner sc = new java.util.Scanner(System.in);
4. class,package,import,先后顺序?
package com.bibabo.demo1;
import java.util.Scanner;
import java.util.Random;
class A {
}
class B {
}
注意:
一个java文件可以写多个类,但是,只能有一个类可以用 public 修饰,并且文件名必须和 public 修饰的类名一样.
static关键字特点
static 关键字
static关键字是静态的意思,是Java中的一个修饰符,可以修饰成员方法,成员变量
被static修饰的成员变量,一般叫做静态变量(静态变量也叫类变量)
被static修饰的成员方法,一般叫做静态方法(静态方法也叫类方法)
static修饰的特点:
被类的所有对象共享
随着类的加载而加载,优先于对象存在
可以通过类名来调用
总结:
1.static 关键字,可以修饰 成员变量 和 成员方法, static 修饰的成员变量称为 类变量,static 修饰的方法称为 类方法.
2.static 修饰成员变量,该成员变量只有一份,创建多个对象,都共享这一份.
3.static 修饰方法,该方法除了使用"对象名."调用外,还可以直接通过 "类名." 调用,调用更方便!
4.static 方法内只能访问 static 成员!
5.static 方法内不能使用 this!
6.类的 static 成员随着类的加载而加载,优先于对象先存在!(静态先加载,只加载一次,对象后创建,可以创建多个)
开发相关:
2.static 修饰成员变量,该成员变量只有一份,创建多个对象,都共享这一份.
3.static 修饰方法,该方法除了使用对象名.调用外,还可以直接通过 "类名." 调用,调用更方便!
static 方法内只能访问 static 成员!