欢迎光临
我们一直在努力

Java类和对象设计

Java对象:从基础到实践

实例化对象

在Java中,实例化对象是通过new关键字调用类的构造函数完成的。例如:

ClassName objectName = new ClassName();

构造函数可以重载,支持不同参数列表。实例化过程会在堆内存中分配空间并初始化对象属性。

初始化对象

对象初始化可通过以下方式实现:

  • 默认构造函数初始化
  • 带参数的构造函数
  • 初始化块(实例初始化块或静态初始化块)

public class Person {
private String name;
// 实例初始化块
{ name = "Default"; }
// 构造函数
public Person(String n) { name = n; }
}

使用对象

通过对象引用访问成员变量和方法:

Person p = new Person("Alice");
System.out.println(p.name); // 访问字段
p.sayHello(); // 调用方法

静态变量和方法

静态成员属于类而非实例:

  • 静态变量通过static修饰,所有实例共享同一内存
  • 静态方法只能访问静态成员,不能使用this

class Counter {
static int count = 0;
static void increment() { count++; }
}

清除对象

Java通过垃圾回收机制自动管理内存。可手动提示回收:

  • 将对象引用设为null
  • 调用System.gc()(仅建议JVM执行回收)
应用程序与命令行参数

main方法接收命令行参数:

public static void main(String[] args) {
for (String arg : args) {
System.out.println(arg);
}
}

运行时通过java MainClass arg1 arg2传递参数。

实用案例:学生管理系统

class Student {
private String id;
private String name;
public Student(String id, String name) {
this.id = id;
this.name = name;
}
public void display() {
System.out.println("ID: " + id + ", Name: " + name);
}
}

包的定义与引用

包用于组织类层次:

  • 定义包:在文件首行声明package com.example.mypackage;
  • 引用包:使用import com.example.mypackage.*;或具体类名
模块系统(Java 9+)

模块通过module-info.java定义:

module my.module {
requires other.module;
exports com.example.mypackage;
}

类及成员修饰符
  • 类修饰符:public, final, abstract
  • 成员修饰符:private, protected, public, static, final
  • 方法修饰符:synchronized, native, strictfp
类和对象实训任务
  • 设计BankAccount类,包含存款、取款和查询功能
  • 实现Book类管理系统,支持添加/删除书籍
  • 创建静态工具类MathUtils,提供常用数学函数
  • 使用包组织电商系统的商品、订单和用户模块
  • 综合示例:图书馆管理系统

    package library;
    public class Book {
    private String isbn;
    private String title;
    public Book(String isbn, String title) {
    this.isbn = isbn;
    this.title = title;
    }
    // Getter/Setter方法省略
    }

    package library;
    import java.util.ArrayList;
    public class Library {
    private static ArrayList<Book> books = new ArrayList<>();
    public static void addBook(Book b) { books.add(b); }
    public static void listBooks() {
    for (Book b : books) {
    System.out.println(b.getTitle());
    }
    }
    }

    对象设计原则
    • 封装:隐藏内部实现细节
    • 单一职责:每个类只负责一个功能
    • 开闭原则:对扩展开放,对修改关闭
    • 组合优于继承
    高级特性
    • 对象克隆:实现Cloneable接口
    • 序列化:实现Serializable接口
    • 注解:使用@Override等元数据
    • 反射:运行时获取类信息

    通过系统学习和实践这些概念,可以构建健壮的面向对象Java应用程序。建议从简单案例开始,逐步增加复杂度,最终实现模块化、可维护的企业级代码结构。

    赞(0)
    未经允许不得转载:171主机测评 » Java类和对象设计
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址