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
对象和类的区别
下表突出了对象和类之间的主要区别-
类 | 对象 |
---|---|
类被称为对象的蓝图 | 类的实例被称为对象 |
类是用户定义的数据类型 | 对象是类的变量 |
它包含数据成员和成员函数 | 类的数据和方法可以通过这些对象访问 |
一个类可以有多个对象 | 一个对象只与一个类绑定 |
不为类分配内存 | 每次创建对象时会分配内存 |
它是一个逻辑实体 | 它是一个物理实体 |
一个类只能被创建一次 | 可以创建多次对象 |
类不能被操作,因为它没有关联的内存 | 对象可以被操作 |
它没有绑定的值 | 对象有它们自己的值 |
类在程序开始时被创建 | 对象可以在程序的任何地方创建 |
结论
类是创建对象的模板。它包含数据和函数,以便在需要的任何时间和地点,可以通过它们的对象访问。对象的主要任务是获取存在于类中的数据,或者使用类中的函数来操作数据。类必须有一个对象才能使用,否则无法使用。但是,只能为现有的类创建对象。
类和对象一起保护数据,并推动数据抽象、封装、多态、继承等许多其他概念,因此,这些类和对象构成面向对象编程的基础。