此文档仅基于个人经验和感受出发,为菜鸟驿站-java教程的学习笔记。
课程参考链接:https://www.runoob.com/java/java-tutorial.html
一、Java基础语法&Java注释
1、Java修饰符
像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:
- 访问控制修饰符 : default, public , protected, private
- 非访问控制修饰符 : final, abstract, static, synchronized
2、继承
在 Java 中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。
利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(sub class)。
3、接口
在 Java 中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。
接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。
4、Java 源程序与编译型运行区别
如下图所示:

5、文档注释
文档注释以 /** 开始,以 ***/** 结束,通常出现在类、方法、字段等的声明前面,用于生成代码文档,这种注释可以被工具提取并生成 API 文档,如 JavaDoc。
1 | /** |
文档注释的格式通常包含一些特定的标签,如 @param 用于描述方法参数,**@return** 用于描述返回值,**@throws** 用于描述可能抛出的异常等等,这些标签有助于生成清晰的API文档,以便其他开发者能够更好地理解和使用你的代码。
二、Java对象和类
4、封装(Encapsulation):
将对象的状态(字段)私有化,通过公共方法访问。
示例:
1
2private String name;
public String getName() { return name; }
5、多态(Polymorphism):
对象可以表现为多种形态,主要通过方法重载和方法重写实现。
示例:
1
2
3- 方法重载:`public int add(int a, int b) { ... }` 和 `public double add(double a, double b) { ... }`
- 方法重写:`@Override public void makeSound() { System.out.println("Meow"); }`
6、抽象(Abstraction):
使用抽象类和接口来定义必须实现的方法,不提供具体实现。
示例:
1
2
3- 抽象类:`public abstract class Shape { abstract void draw(); }`
- 接口:`public interface Animal { void eat(); }`
9、方法重载(Method Overloading):
同一个类中可以有多个同名的方法,但参数不同。
示例:
1
2
3
4
5
6
7
8
9public class MathUtils {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
对象和类的概念。
- 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
- 类:类是一个模板,它描述一类对象的行为和状态。
Java 中的类
类可以看成是创建 Java 对象的模板。

一个类可以包含以下类型变量:
- 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
- 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
- 类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。
构造方法
每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
下面是一个构造方法示例:
1 | public class Puppy{ |
创建对象
对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:
- 声明:声明一个对象,包括对象名称和对象类型。
- 实例化:使用关键字 new 来创建一个对象。
- 初始化:使用 new 创建对象时,会调用构造方法初始化对象。
下面是一个创建对象的例子:
1 | public class Puppy{ |
三、DO、BO、DTO、VO、AO、PO、UID等术语解释
在Java开发中,DO、BO、DTO、VO、AO、PO、UID等术语通常用于表示不同的对象类型或概念。以下是它们的常见含义:
- DO (Data Object / Domain Object):
- 数据对象或领域对象,通常与数据库表直接对应,用于表示持久化数据。
- 例如,一个
UserDO
可能对应数据库中的user
表。
- BO (Business Object):
- 业务对象,封装了业务逻辑和操作,通常由多个DO或其他BO组合而成。
- 例如,一个
OrderBO
可能包含订单信息、用户信息和商品信息。
- DTO (Data Transfer Object):
- 数据传输对象,用于在不同层(如服务层和表现层)之间传输数据。
- 例如,
UserDTO
可能包含用户的基本信息,用于前端展示。
- VO (Value Object):
- 值对象,通常用于表示一个不可变的对象,包含一些属性但没有行为。
- 例如,
AddressVO
可能包含地址的详细信息。
- AO (Application Object):
- 应用对象,用于表示应用程序中的某个实体或概念,通常包含业务逻辑。
- 例如,
ReportAO
可能表示一个报表对象,包含生成报表的逻辑。
- PO (Persistent Object):
- 持久化对象,与DO类似,通常用于表示与数据库表直接对应的对象。
- 例如,
UserPO
可能对应数据库中的user
表。
- UID (Unique Identifier):
- 唯一标识符,用于唯一标识某个对象或实体。
- 例如,
userId
可能是一个用户的唯一标识符。
这些术语的具体使用可能因项目或团队的不同而有所差异,但它们的核心概念通常是相似的。