Java基础精要:类、包、对象与方法的全面解析
1. 类(Class)—— Java的基石
类是最小组织单位,必须保存在同名.java文件中:
public class Cat { } // 类名=文件名(Cat.java)
2. 包(Package)—— 类的逻辑容器
包通过目录结构组织相关类,避免命名冲突:
package my.cute; // 包声明对应目录结构
public class Cat { }
- 全限定类名:解决命名冲突(如
com.github.hcsp.pet1.Cat) - 默认包:直接放在
java目录下的类(不推荐)
3. 第三方包的引入
通过import导入外部依赖,配合构建工具管理:
import org.apache.commons.lang3.StringUtils;
public class Main {
public static void main(String[] args) {
System.out.println(StringUtils.isEmpty("")); // true
}
}
Maven依赖配置示例:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
4. 方法(Method)—— 执行单元
- 静态变量:类级别共享数据(
public static int a)- 如果在外部访问需要加上类名
Main.a
- 如果在外部访问需要加上类名
- 实例变量:和实例绑定的数据(
public int a) - 方法嵌套调用:支持深度调用链
public static void main(String[] args) {
System.out.println(f(1)); // 输出1(a=0+1)
}
public static int f(int x) {
a += x; // 修改静态变量
return a;
}
5. 类与对象的关系
- 类:对象的"说明书"(定义属性和行为)
- 对象:类的具体实例
public class Cat {
public String name; // 成员变量
// 构造方法
public Cat() {} // 默认构造器
public Cat(String name) {
this.name = name; // this引用当前对象
}
}
对象创建:
Cat garfield = new Cat("加菲猫");
6. 实例方法 vs 静态方法
| 类型 | 调用方式 | 特点 |
|---|---|---|
| 实例方法 | 对象.方法() | 可访问对象成员变量 |
| 静态方法 | 类名.方法() | 独立于对象,仅操作静态域 |
- 构造器也属于一个特殊的实例方法
// 实例方法调用
garfield.meow();
// 方法定义
public void meow() {
System.out.println("喵!" + name);
}
7. 空指针异常(NullPointerException)
当调用null对象的方法时触发:
Cat namelessCat = new Cat();
namelessCat.meow(); // 抛出NPE(name=null)
防御性编程:
public void meow() {
if(name == null) {
System.out.println("无名猫");
} else {
System.out.println("喵! 我是" + name);
}
}