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 发布!

相关推荐
手握风云-7 分钟前
JavaEE初阶第一期:计算机是如何 “思考” 的(上)
java·java-ee
普通的冒险者24 分钟前
微博项目(总体搭建)
java·开发语言
BAGAE43 分钟前
Flutter 与原生技术(Objective-C/Swift,java)的关系
java·开发语言·macos·objective-c·cocoa·智慧城市·hbase
江湖有缘43 分钟前
使用obsutil工具在OBS上完成基本的数据存取【玩转华为云】
android·java·华为云
bxlj_jcj1 小时前
Kafka环境搭建全攻略:从Docker到Java实战
java·docker·kafka
国科安芯1 小时前
【AS32系列MCU调试教程】性能优化:Eclipse环境下AS32芯片调试效率提升
java·性能优化·eclipse
Chase_______1 小时前
静态变量详解(static variable)
java·开发语言·jvm
厚衣服_31 小时前
第15篇:数据库中间件高可用架构设计与容灾机制实现
java·数据库·中间件
勇闯IT1 小时前
有多少小于当前数字的数字
java·数据结构·算法
小皮侠2 小时前
【算法篇】逐步理解动态规划模型6(回文串问题)
java·开发语言·算法·动态规划