Java 中的内部类和静态嵌套类
Java 是一种纯面向对象的编程语言。没有类就不能创建程序。
Java 中的类
类是表示类对象可以访问的一组方法和属性的蓝图或原型。让我们通过一个真实的例子来理解它。
Student
是一个类,它具有一些属性和方法,例如 student name
、student roll no
、cal_gpa()
、cal_fee()
。这些是学院或大学中每个学生的一些共同属性。
我们很容易创建一个类,定义所有必需的属性,并使用每个学生的类对象访问它们。
代码示例:
package articlecodesinjava;
class Student{
String name;
int rollNumber;
void cal_gpa(){
System.out.println("The method calculates CGPA.");
}
void cal_fee(){
System.out.println("The method calculates the Semester fee.");
}
}
public class ArticleCodesInJava {
public static void main(String[] args) {
// creating objects of Student class
Student Jinku = new Student();
Student Zeeshan = new Student();
System.out.println("This is Jinku's details.");
System.out.println(Jinku.name = "Jinku");
System.out.println(Jinku.rollNumber = 1);
Jinku.cal_fee();
Jinku.cal_gpa();
System.out.println("\n\nThis is Zeeshan's details.");
System.out.println(Zeeshan.name = "Zeeshan Afridi");
System.out.println(Zeeshan.rollNumber = 2);
Jinku.cal_fee();
Jinku.cal_gpa();
}
}
输出:
This is Jinku's details.
Jinku
1
The method calculates the Semester fee.
The method calculates CGPA.
This is Zeeshan's details.
Zeeshan Afridi
2
The method calculates the Semester fee.
The method calculates CGPA.
我们将学生的蓝图定义为一个类,其中包含有关他们的基本信息,例如姓名、卷号、CGPA 和费用。现在我们可以为每个学生调用这些属性和方法,而不是为每个学生定义所有这些。
如你所见,我们创建了两个对象,Jinku
和 Zeeshan
,并为这些对象调用 Student
类的属性和方法。
Java 中类的结构
Java 是一种强面向对象的编程语言;即使是一行代码也需要一个类和 main
方法。
类的语法:
AccessSpecifer classKeyword ClassName{
//Class body
}
例子:
Public class Student{
//Class body
}
-
根据代码的可访问性,
AccessSpecifer
可以是public
、private
或protected
。 -
class
关键字对于定义一个类是强制性的;否则,你无法创建课程。 -
ClassName
也是创建类所必需的。最佳实践和指南说名称应该是有意义的,使代码更容易理解和可读。 -
类主体
是类的边界或界限。你可以在类体内定义变量和方法。类主体以
{
开始并以}
结束。
Java 中嵌套类的类型
嵌套类是指另一个类中的一个类。这种现象类似于嵌套条件和循环。
Java 允许你创建嵌套类。它使你能够对在一个地方使用的类进行逻辑分组,并且还增加了封装的使用。
嵌套类的语法:
class OuterClass{ //OuterClass
Class InnerClass{ //InnerClass }
}
在 Java 中,有两种类型的嵌套类。这些是:
- 静态嵌套类
- 内部类
Java 中的静态嵌套类
静态嵌套类被定义为其外部类的静态成员,关键字 static
。无需使用其他静态成员实例化外部类即可访问静态嵌套类。
与其他静态成员类似,静态类无法访问其外部类的方法和实例变量。
代码示例:
public class OuterClass {
static class NestedStaticClass { // Outer class
public void my_method() { //Inner class
System.out.println("This is a static nested class.");
}
}
public static void main(String args[]) { // Main function
//object of nested class
NestedStaticClass ob = new NestedStaticClass();
ob.my_method();
}
}
输出:
This is a static nested class.
Java 中的内部类
安全始终是几乎所有软件或组织的重中之重。Java 以其安全性而闻名,内部类是帮助我们实现这些安全标准的组件之一。
要访问内部类,首先需要创建外部类的对象,然后使用该对象,就可以制作内部类的对象。
与常规或简单类不同,内部类有权访问 protected
和 private
指定的属性和方法。此外,如果你不希望外部对象访问内部类,你可以将内部类声明为 private
。
代码示例:
public class OuterClass {
class NestedStaticClass { // Outer class
public void my_method() { //Inner class
System.out.println("This is a nested inner class.");
}
}
public static void main(String args[]) { // Main function
//object of nested class
OuterClass OuterObj = new OuterClass();
OuterClass.NestedStaticClass obj = OuterObj.new NestedStaticClass();
obj.my_method();
}
}
输出:
This is a nested inner class.
相关文章
用 Java 创建一个猜数游戏
发布时间:2023/10/10 浏览次数:84 分类:Java
-
任务是为猜谜游戏编写 Java 程序。猜谜游戏是一个约束满足问题。你必须在给定次数的试验中猜出正确的数字;否则,你不会赢。
从 Mac 中卸载 JDK 8
发布时间:2023/10/10 浏览次数:79 分类:Java
-
本文介绍如何从 MacOS 卸载 JDK 8。在过去的几十年里,Java 一直是主要的编程语言之一。它是计算机科学不可或缺的一部分。
Java 中的有限状态机
发布时间:2023/10/10 浏览次数:197 分类:Java
-
本教程演示如何在 Java 中实现有限状态机。有限状态机用于识别模式。本教程演示如何在 Java 中实现有限状态机。
Java 中的位掩码操作
发布时间:2023/10/10 浏览次数:101 分类:Java
-
在 Java 中,位掩码允许我们在一个数值变量中存储多个值。我们将值的每一位都视为一个单独的值,而不是一个整体的单个变量。
Java 中的弱引用类
发布时间:2023/10/10 浏览次数:129 分类:Java
-
本教程演示了 Java 中的弱引用类。弱引用是一种强度不足以使对象保留在内存中的引用。本教程演示了 Java 中弱引用的使用。
用 Java 连接 MySQL 数据库
发布时间:2023/10/10 浏览次数:134 分类:Java
-
这篇文章将演示如何使用 Java 连接 MySQL 数据库。本教程介绍了如何在 Java 中连接 MySQL 数据库。我们还列出了一些示例代码,以便你可以进一步了解该主题。
在 Java 中调用另一个方法中的变量
发布时间:2023/10/10 浏览次数:139 分类:Java
-
本教程解释了如何在 Java 中调用另一个方法中的变量。在本文中,我们将学习如何在 Java 中调用另一个方法中的变量。这取决于变量的类型和它在类内的作用域。
在 Java 中导入自定义类
发布时间:2023/10/10 浏览次数:73 分类:Java
-
这篇文章将要导入 Java 中的自定义类。本文介绍了如何在 Java 中导入自定义类。如果该类存在于同一个包中,则通过创建其对象来使用该类,如果该类存在于另一个包中