Java 新手指南:类和对象到底是啥?

大家好,这里是架构资源栈 !点击上方关注,添加"星标",一起学习大厂前沿架构!

学 Java 的时候,你一定听过"类"和"对象"这两个词。说实话,刚开始学的时候,很多人都懵:类是啥?对象又是啥?它俩到底有什么关系?

其实这俩词特别简单。类就像是一个图纸 ,而对象是按照这张图纸造出来的"实物"

比如说,有一个"狗"的类,那"旺财"、"Tommy"这种具体的狗就是对象。

类 vs 对象,有啥区别?

类(Class) 对象(Object)
是一种模板,用来描述对象 是类的一个具体实现
只是定义,不占内存 真正占内存,有数据
像是"设计图" 像是按图纸造出的"产品"
表达的是"共性" 表达的是"个体"
只写一次 可以创建很多个
比如:"Dog" 是类 "Tommy"、"旺财" 是对象

是不是感觉理解多了点?那我们接着往下看。


什么是类?

在 Java 里,类就是一组代码的集合,它定义了某一类对象应该有什么属性(变量)和行为(方法)。

简单来说,你要描述一个"学生",那这个学生有名字、学号、有学习这个行为,那这些都可以写在类里。

类长啥样?

Java 里写类大概长这样:

java 复制代码
public class Student {
    int id;
    String name;

    void study() {
        System.out.println("正在学习中...");
    }
}

这个 Student 类就定义了两个属性 idname,还有一个方法 study()

类的结构图

一个类里可以包含这些东西:

  • 成员变量(属性)
  • 方法(行为)
  • 构造器(初始化用的)
  • 内部类
  • 接口(Interface)

当然,刚开始掌握前两个就够用了。


写个小例子:新建类并打印默认值

java 复制代码
class Student {
    int id;
    String n;

    public static void main(String args[]) {
        Student s1 = new Student();
        System.out.println(s1.id);  // 默认是 0
        System.out.println(s1.n);   // 默认是 null
    }
}

输出:

csharp 复制代码
0
null

看到没?Java 给没赋值的变量会设置默认值。


什么是对象?

说白了,对象就是按照类这张图纸造出来的"具体东西"。每个对象都能拥有自己的状态和行为。

比如你造了两只狗对象,虽然它们都是 Dog 类出来的,但名字、颜色、年龄都可以不一样。

对象=状态 + 行为

  • 状态:通过属性来表示,比如名字、颜色、年龄
  • 行为:通过方法来表示,比如"叫一声"、"跑起来"

来一个完整的对象示例

java 复制代码
public class Dog {
    String name;
    String breed;
    int age;
    String color;

    // 构造方法
    public Dog(String name, String breed, int age, String color) {
        this.name = name;
        this.breed = breed;
        this.age = age;
        this.color = color;
    }

    public String toString() {
        return "Name is: " + name + "\nBreed, age, and color are: " +
               breed + "," + age + "," + color;
    }

    public static void main(String[] args) {
        Dog tuffy = new Dog("tuffy", "papillon", 5, "white");
        System.out.println(tuffy);
    }
}

输出:

yaml 复制代码
Name is: tuffy
Breed, age, and color are: papillon,5,white

是不是一目了然?我们创建了一个叫 Tuffy 的狗,然后打印了它的属性。


对象是怎么创建的?

在 Java 中,创建对象主要有 4 种方式,除了常见的 new,还有些高级用法:

1. 用 new 关键字(最常见)

java 复制代码
Student s = new Student();

新手最常用的方法,就是 new 一个对象。


2. 用反射(Reflection)

java 复制代码
Class<?> c = Class.forName("Student");
Student s2 = (Student) c.getDeclaredConstructor().newInstance();

这个方法一般在框架中用得多,比如 Spring,它就是靠这个搞的。


3. 用 clone() 克隆一个对象

java 复制代码
class Geeks implements Cloneable {
    String name = "GeeksForGeeks";

    public static void main(String[] args) throws CloneNotSupportedException {
        Geeks o1 = new Geeks();
        Geeks o2 = (Geeks) o1.clone();
        System.out.println(o2.name);
    }
}

输出:

复制代码
GeeksForGeeks

注意,要实现 Cloneable 接口才行哦~


4. 通过反序列化(Deserialization)

就是把文件或网络里的数据"读回来"变成一个对象。

java 复制代码
ObjectInputStream in = new ObjectInputStream(new FileInputStream("student.ser"));
Student s = (Student) in.readObject();

常见于网络通信、缓存等场景。


写在最后:类和对象,搞懂了吗?

Java 是一门面向对象的语言,而类和对象就是它的地基。掌握这俩概念,才能写出有结构、有逻辑的代码。

你可以把类看作"配方",对象就是照着配方做出的"菜"。


🎯 小结:

  • 类是模板,对象是具体的东西
  • 类定义属性和行为,对象拥有这些属性和行为
  • Java 创建对象主要有四种方式,但 new 是最主流的
  • 类和对象贯穿 Java 编程全过程,必须掌握!

如果你觉得今天的讲解还挺通俗易懂,欢迎点赞、分享、在看支持一下,也欢迎留言区讨论你理解的"类和对象"!

本文由博客一文多发平台 OpenWrite 发布!

相关推荐
我叫小白菜3 分钟前
【Java_EE】单例模式、阻塞队列、线程池、定时器
java·开发语言
Albert Edison35 分钟前
【最新版】IntelliJ IDEA 2025 创建 SpringBoot 项目
java·spring boot·intellij-idea
超级小忍1 小时前
JVM 中的垃圾回收算法及垃圾回收器详解
java·jvm
weixin_446122461 小时前
JAVA内存区域划分
java·开发语言·redis
勤奋的小王同学~2 小时前
(javaEE初阶)计算机是如何组成的:CPU基本工作流程 CPU介绍 CPU执行指令的流程 寄存器 程序 进程 进程控制块 线程 线程的执行
java·java-ee
TT哇2 小时前
JavaEE==网站开发
java·redis·java-ee
2401_826097622 小时前
JavaEE-Linux环境部署
java·linux·java-ee
缘来是庄2 小时前
设计模式之访问者模式
java·设计模式·访问者模式
Bug退退退1233 小时前
RabbitMQ 高级特性之死信队列
java·分布式·spring·rabbitmq
梵高的代码色盘3 小时前
后端树形结构
java