OOPs中类和对象之间的区别
类与对象的关键区别
- 类是程序中用于创建对象的模板,而对象是类的实例。
- 类是逻辑实体,而对象是物理实体。
- 类不分配内存空间;另一方面,对象会分配内存空间。
- 您只能声明一次类,但可以使用一个类创建多个对象。
- 类不能被操作,而对象可以被操作。
- 类没有值,而对象有自己的值。
- 您可以使用“class”关键字创建类,而在Java中,您可以使用“new”关键字创建对象。

什么是类?
类是确定对象如何行为以及对象将包含什么的实体。换句话说,它是创建特定类型对象的蓝图或一套指令。它为成员变量和成员函数或方法提供初始值。
什么是对象?
对象是包含方法和属性以使数据有用的自包含组件。它有助于确定类的行为。
例如,当您向对象发送消息时,您是在要求该对象调用或执行其方法之一。
从编程的角度来看,对象可以是数据结构、变量或函数,它们具有已分配的内存位置。对象是作为类层次结构设计的。
类与对象——它们之间的区别
以下是类与对象的重要区别
类 | 对象 |
---|---|
类是程序中用于创建对象的模板。 | 对象是类的实例。 |
类是逻辑实体 | 对象是物理实体 |
类在创建时不会分配内存空间。 | 对象在创建时会分配内存空间。 |
您只能声明一次类。 | 您可以使用一个类创建多个对象。 |
示例:汽车。 | 示例:捷豹、宝马、特斯拉等。 |
类生成对象 | 对象赋予类生命 |
类不能被操作,因为它们不在内存中。 | 它们可以被操作。 |
它没有与字段关联的任何值。 | 每个对象都有自己的值,这些值与字段关联。 |
您可以使用“class”关键字创建类。 | 您可以在Java中使用“new”关键字创建对象 |
通过示例了解Java类和对象的概念。
让我们以开发一个宠物管理系统为例,该系统专门针对狗。您需要有关狗的各种信息,例如狗的不同品种、年龄、体型等。
您需要将现实世界中的事物,即狗,建模为软件实体。
此外,百万美元的问题是,您如何设计这样的软件?这是解决方案——
首先,让我们做一个练习。
您可以在下方看到三种不同品种狗的图片。
现在就停在这里!列出它们之间的差异。
您可能列出的一些差异是品种、年龄、体型、颜色等。如果您仔细想想,这些差异也是这些狗之间的一些共同特征。这些特征(品种、年龄、体型、颜色)可以构成您的对象的成员变量。
接下来,列出这些狗的共同行为,如睡觉、坐、吃等。所以这些将是我们软件对象的行为。
到目前为止,我们已经定义了以下内容:
- 类:狗
- 数据成员或对象:体型、年龄、颜色、品种等。
- 方法:吃、睡、坐和跑。
现在,对于Java类中数据成员(品种、体型、年龄和颜色)的不同值,您将获得不同的狗对象。
您可以使用这种面向对象的编程方法来设计任何程序。
Java中的类和对象
在下面的程序中,我们声明了一个名为 Dog 的类。我们使用 new 关键字定义了一个名为“maltese”的类对象。在最后一条语句 System.out.println(maltese.getInfo()); 中,我们显示了狗的信息,如品种、体型、年龄、颜色等。
// Class Declaration class Dog { // Instance Variables String breed; String size; int age; String color; // method 1 public String getInfo() { return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color); } } public class Execute{ public static void main(String[] args) { Dog maltese = new Dog(); maltese.breed="Maltese"; maltese.size="Small"; maltese.age=2; maltese.color="white"; System.out.println(maltese.getInfo()); } }
输出
品种:马尔济斯 体型:小 年龄:2 颜色:白色
类类型
以下是类的重要类型
派生类和继承
派生类是从其他类创建或派生的类。它用于增加基类的功能。这种类型的类派生并继承现有类的属性。它还可以添加或共享/扩展自己的属性。
超类
超类是从中可以派生许多子类的类。
子类
子类是从超类派生的类。
混合类
混合类是具有一个或多个功能的类,可帮助您将一个类的属性继承到另一个类。它使用类的功能子集,而派生类使用超类功能的完整集。
类的用途
以下是类的重要用途
- 类用于容纳数据变量和成员函数。
- 它允许您创建用户定义的类。
- 类提供了一种组织数据信息的方式。
- 您可以使用类来继承其他类的属性。
- 类可用于利用构造函数或析构函数。
- 它可用于大量数据和复杂应用程序。
对象的使用
以下是对象的重要用途
- 它帮助您了解接受的消息类型以及返回的响应类型。
- 您可以使用对象通过对象引用变量访问内存块。
- 它用于操作数据。
- 对象代表您正在寻找解决方案的现实问题。
- 它使数据成员和成员函数能够执行所需的任务。