Types of Classes in Java2025年3月27日 | 阅读 9 分钟 在 Java 中,类是用于创建单个对象的蓝图。Java 提供了一个名为 class 的 关键字 来声明类。在类中,我们定义类成员和函数。没有类就无法创建 Java 程序。我们还可以将类称为用户定义的 数据类型,因为面向对象的范例允许我们模拟现实世界中的对象。在本节中,我们将重点介绍Java 中的类类型。 类类型Java 中有七种类型的类
![]() 静态类在 Java 中,static 是一个管理内存中对象的关键字。静态对象属于类而不是类的实例。 我们只能将一个类声明为 static,前提是它是一个嵌套类。我们也可以说静态类被称为嵌套类。这意味着在另一个类中声明为 static 的类称为静态类。嵌套静态类不需要对外部类的引用。静态类的目的是为其继承的类提供大纲。 静态类的属性是
让我们通过一个程序来理解静态类的概念。 StaticClassExample.java 输出 Javatpoint 在上述程序的外部类中,我们已将变量 str 声明为 static,因为我们正在从静态上下文访问该变量。如果我们将其声明为非静态,编译器将显示错误,因为嵌套的静态类无法访问外部类的非静态成员。 上述程序中需要注意的第二件事是,要创建嵌套类的对象,我们不需要创建外部类的实例。如果嵌套类不是静态类,我们需要创建外部类的实例。 最终类final 这个词的意思是“不能改变”。Java 中的final 类可以使用 final 关键字声明。一旦我们将一个类声明为 final,其值在整个程序中将保持不变。final 类的目的是使类像 String 类一样不可变。这只是使类不可变的一种方式。请记住,final 类不能被继承。它还阻止了类被子类化。 让我们通过一个程序来理解 final 类的概念。 FinalClassExample.java 输出 /FinalClassExample.java:11: error: cannot inherit from final A class B extends A 抽象类一个 抽象类是使用 abstract 关键字声明的。该类可能包含也可能不包含抽象方法。我们无法创建抽象类的实例,但它可以是子类。这些类是不完整的,因此要完成抽象类,我们应该将抽象类扩展到一个具体类。当我们声明一个子类为抽象类时,有必要提供抽象方法的实现。因此,子类也必须声明为抽象类。我们可以通过使用抽象类来实现数据隐藏。抽象类的示例是 AbstarctMap 类,它是 Collections 框架的一部分。 让我们通过一个程序来理解抽象类的概念。 AbstractClassExample.java 输出 Sum of a and b is: 70 具体类这些是普通的 Java 类。为所有在基类中尚未实现的模型提供基本实现的派生类称为具体类。换句话说,它们是普通 Java 类,其中实现了抽象类的所有方法。我们可以直接创建具体类的对象。请记住,具体类和抽象类不是同一回事。具体类可以扩展其父类。它用于特定需求。 让我们通过一个程序来理解具体类的概念。 ConcreteClassExample.java 输出 Product of a and b is: 48 单例类一次只有一个对象的类称为单例类。即使我们尝试第二次创建实例,新创建的实例也会指向第一个实例。如果我们通过任何实例在类中进行了任何更改,修改也会影响单个实例的变量。通常用于控制数据库连接和套接字编程时的访问。如果我们想创建一个单例类,请执行以下操作:
SingletonClassExample.java 输出 Javatpoint POJO 类在 Java 中,POJO 代表Plain Old Java Object。仅包含私有变量、setter 和 getter 的 Java 类称为POJO 类。它用于定义 Java 对象,从而提高 Java 程序的可重用性和可读性。该类提供了封装。它在 Java 中被广泛使用,因为它易于理解。POJO 类具有以下属性
让我们通过一个 Java 程序来理解 POJO 类的概念。 PojoClassExample.java 输出 The price of an article is 89764.34 Rs. 内部类Java 允许我们在类中定义类,这些类称为嵌套类。它用于逻辑地分组类并实现 封装。内部类可以访问外部类的成员(包括私有成员)。声明嵌套类的通用语法如下: 嵌套类有两种类型 1. 静态嵌套类:一个静态且嵌套的类称为 静态嵌套类。它与外部类的实例成员进行交互。我们可以使用以下语法创建静态嵌套类的对象: 2. 非静态嵌套类:非静态嵌套类称为内部类。 声明静态嵌套类和内部类的通用语法如下: 让我们通过一个 Java 程序来理解内部类的概念。 InnerClassExample.java 内部类类型Java 提供了以下两种内部类:
局部内部类这是一种定义在块中的内部类。这里的块表示方法体(包含在一对大括号中的一组语句)。由于定义在块中,因此也称为方法局部内部类。这些是非静态类,因为它们可以访问块的实例成员。我们可以在方法的正文中定义 局部内部类。这些类必须在它们定义的块中进行实例化。 当我们编译 Java 程序(包含内部类的程序)时,编译器会生成两个类文件,即 Outer.class 和 Outer$1Inner.class。一个用于外部类,另一个用于包含对外部类引用的内部类。 让我们通过一个 Java 程序来理解局部内部类的概念。 OuterClass.java 输出 Divisor = 4 Remainder = 0 We are inside the inner class Quotient = 5 匿名内部类这是一种与局部类相同的内部类,唯一的区别是该类没有类名,并且只创建该类的一个对象。它使代码更简洁。如果我们想只使用一次局部类,就可以使用它。我们可以通过以下两种方式创建匿名类:
语法 查看上面的语法,我们看到它与调用构造函数相同,只是类在其块中包含定义。 AnonymousClassExample.java 输出 Score is 321 Java 还提供了另一种类型的 Java 类,称为包装类。让我们详细讨论一下。 包装类在 Java 中,“包装类”表示一组 Java 类,它们将 Java 的原始类型对象化。这意味着对于每种原始类型,都有一个对应的包装类。包装类用于执行原始类型到对象的转换以及反之。下图演示了包装类的继承层次结构。 ![]() 下表显示了原始类型和对应的包装类。
让我们通过一个 Java 程序来理解包装类。 WrapperClassExample.java 输出 Byte object byteobj: 0 Integer object intobj: 23 Character object charobj: m 下一个主题如何创建 Java API |
java.text.RuleBasedCollator 类有一个 hashCode() 函数。此 Collator 对象的哈希码可以使用 RuleBasedCollator 类获取。语法:public abstract int hashCode() 参数:此方法不接受任何参数。返回值:此方法返回整数格式的哈希码值。示例...
阅读 2 分钟
什么是?SE 代表 Java Standard Edition,它是一个计算平台,我们可以在其中执行软件,它可用于桌面和服务器环境的可移植代码的开发和部署。它使用 Java 编程语言。它是...
5 分钟阅读
Java 中的 Optional 类是一个显式的容器对象,它包含一个可能存在也可能不存在的非 null 值。它最初在 Java 8 中使用,用于提供一种更强大、更具成本效益且更安全的方式来处理可能...
阅读 4 分钟
java.nio.FloatBuffer 类有一个 allocate() 函数。要创建一个共享提供的缓冲区内容的浮点缓冲区,请使用 FloatBuffer 类。此缓冲区的内容将创建一个新缓冲区。新缓冲区将显示对此缓冲区内容所做的更改,并且...
阅读 3 分钟
Java 是世界上使用最广泛的编程语言之一,以其可靠性和可移植性而闻名。然而,像任何其他编程语言一样,Java 并非没有挑战。程序员,尤其是初学者,在开发过程中经常会犯错误。这些错误可能...
5 分钟阅读
在 Java 中,正则表达式经常用于使用字符序列定义搜索模式。量词,它决定了字符或字符组的出现次数,是指定搜索范围不可或缺的一部分。这些表达式有助于定义模式规则...
5 分钟阅读
在本教程中,我们将讨论 Java 中的稀疏数字。稀疏数字是指其二进制表示中不包含任何两个或两个以上连续设置位的数字。让我们通过几个例子来理解它。示例 1:输入 int n =...
阅读 4 分钟
在 Java 编程中,能够调用抽象类的具体方法是一个重要的概念。抽象类提供了一种定义一组标准的行为和特征的方法,这些方法和特征可以被多个类共享,而无需从头开始实现它们。这些类可以...
5 分钟阅读
在 Java 中,原始类型(如 int)按值传递,这意味着在方法中对其进行的更改不会影响原始值。然而,通过使用包装类、数组或其他可变对象(如 AtomicInteger 或 MutableInt),可以将整数按引用传递,从而允许其...
5 分钟阅读
在 Java 中,类是用于创建实例和定义其行为的基本构建块。类充当蓝图或模板,它封装了数据(以变量的形式)和操作这些数据的方法(函数)。最重要的类型之一...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India