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

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

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

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

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

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

类 vs 对象,有啥区别?

类(Class)

对象(Object)

是一种模板,用来描述对象

是类的一个具体实现

只是定义,不占内存

真正占内存,有数据

像是“设计图”

像是按图纸造出的“产品”

表达的是“共性”

表达的是“个体”

只写一次

可以创建很多个

比如:“Dog” 是类

“Tommy”、“旺财” 是对象

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

什么是类?

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

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

类长啥样?

Java 里写类大概长这样:

public class Student {

int id;

String name;

void study() {

System.out.println("正在学习中...");

}

}

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

类的结构图

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

成员变量(属性)

方法(行为)

构造器(初始化用的)

内部类

接口(Interface)

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

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

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

}

}

输出:

0

null

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

什么是对象?

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

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

对象=状态 + 行为

状态:通过属性来表示,比如名字、颜色、年龄

行为:通过方法来表示,比如“叫一声”、“跑起来”

来一个完整的对象示例

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

}

}

输出:

Name is: tuffy

Breed, age, and color are: papillon,5,white

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

对象是怎么创建的?

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

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

Student s = new Student();

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

2. 用反射(Reflection)

Class c = Class.forName("Student");

Student s2 = (Student) c.getDeclaredConstructor().newInstance();

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

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

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)

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

ObjectInputStream in = new ObjectInputStream(new FileInputStream("student.ser"));

Student s = (Student) in.readObject();

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

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

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

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

🎯 小结:

类是模板,对象是具体的东西

类定义属性和行为,对象拥有这些属性和行为

Java 创建对象主要有四种方式,但 new 是最主流的

类和对象贯穿 Java 编程全过程,必须掌握!

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