Java基础精要:类、包、对象与方法的全面解析

85 阅读2分钟

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);
}

1.png

7. 空指针异常(NullPointerException)

当调用null对象的方法时触发:

Cat namelessCat = new Cat();
namelessCat.meow(); // 抛出NPE(name=null)

2.png 防御性编程:

public void meow() {
    if(name == null) {
        System.out.println("无名猫");
    } else {
        System.out.println("喵! 我是" + name);
    }
}