Java中对象和类的区别
类和对象被认为是面向对象编程的基石。每个具有状态和行为的实体都是一个对象。这些相似对象的集合就是一个类。类只能通过其对象访问,从而保护其中的数据。阅读本文,了解更多关于Java中对象和类的信息以及它们彼此之间的区别。
什么是Java中的类?
类是一种用户定义的数据类型,充当设计其中对象的蓝图。它被认为是一个存储相似类型对象的容器。
每个类都包含数据成员和成员函数,这些成员可以通过它们的对象访问。这里,数据成员是变量,成员函数是操作变量的方法。
类是用关键字“class”创建的。单个类可以有多个对象。一旦声明了一个类,它就可以拥有任意数量的对象。
定义类不会为其分配任何内存。内存是在实例化时创建的。类在程序的开头声明,可以使用其对象在整个程序中访问。
类封装了其中的数据成员和成员函数。如果将水果视为一个类,那么苹果、芒果、葡萄等不同种类的水果就被视为对象。
使用类的益处如下:
类促进了数据封装的概念,其主要目标是数据隐藏。它防止他人无意中修改和访问数据。除非通过其对象调用,否则无法访问类。
大型代码可以分解成类,这有助于代码重用。
它允许继承。一个类可以继承其他类的函数。继承属性的类称为子类或派生类,另一个继承属性的类称为超类或基类。
什么是Java中的对象?
类的实例称为对象。它是一个现实世界的实体,用于访问类的成员变量和成员函数。对象被称为类的变量。
每次创建对象时,都会为其分配内存。每次调用对象时都可以访问类的方法。
每个对象都具有关联的状态和行为。如果我们把猫作为一个类,它包含不同品种猫的信息,这些信息是它的不同对象。每个对象都有一些共同的属性,如品种、颜色、年龄等。这些元素构成该类的成员变量,对象执行的函数是吃、睡、走等,这些被称为它们的成员函数。因此,由于这些数据成员对每个对象都是唯一的,我们得到了类“猫”的不同对象。
根据它们的工作,对象可分为以下类型:
函数对象
容器对象
不可变对象
工厂对象
以下是使用对象的某些好处:
对象用于访问类成员。
我们可以在代码中的任何地方调用和使用类。
它们用于更改数据。
对象允许轻松调试。
Java中的对象和类:示例
示例
在下面的例子中,Puppy是一个类,myPuppy是一个对象。
public class Puppy {
public Puppy(String name) {
// This constructor has one parameter, name.
System.out.println("Passed Name is: " + name);
}
public static void main(String []args) {
// Following statement would create an object myPuppy
Puppy myPuppy = new Puppy("tommy");
}
}
输出
如果我们编译并运行上述程序,它将产生以下输出:
Passed Name is: tommy
区别:对象和类
下表重点介绍了对象和类之间的主要区别:
类 |
对象 |
|---|---|
类被称为对象的蓝图 |
类的实例称为对象 |
类是用户定义的数据类型 |
对象是类的变量 |
它包含数据成员和成员函数 |
类的数据和方法可以通过这些对象访问 |
一个类可以有多个对象 |
一个对象只与一个类绑定 |
没有为类分配内存 |
每次创建对象时都会分配内存 |
它是逻辑实体 |
它是物理实体 |
类只能创建一次 |
对象可以创建多次 |
它们不能被操作,因为它不与任何内存关联 |
对象可以被操作 |
它没有与其绑定的值 |
对象有自己的值 |
类是在程序的开头创建的 |
对象可以在程序的任何地方创建 |
结论
类是创建对象的模板。它包含数据和函数,以便以后可以在需要时通过其对象访问它们。对象的主要任务是获取类中存在的数据,或使用这些类中的函数来操作数据。类必须有对象,否则无法使用。但对象只能为现有类创建。
类和对象一起保护数据并促进许多其他概念,如数据抽象、封装、多态性、继承等,因此,这些类和对象构成了面向对象编程的基础。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP