静态内部类是一个嵌套类。该类作为任何充当外部类的类下的静态成员存在。它不需要创建类对象来使用成员函数和变量。它可以在外部类的帮助下实例化。另外,它还有一个限制,就是不能像静态变量一样访问非静态成员函数和成员变量。
语法:
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
JAVA静态嵌套类的语法如下。这里我们需要一个外部类作为内部类的保护类。内部类将位于外部类循环内。内部类在class之前会有一个“static”关键字,这样内部类就可以被识别为静态内部类或嵌套静态类。
class outerclass { static class Innerclass { //Member variables //Member functions } }
JAVA静态嵌套类是在类定义时在类之前使用“static”关键字声明的。 static 关键字还与方法和变量一起使用,以在整个程序中维护变量和方法的范围,而不会开始覆盖它们。相同的功能可以在类级别上使用,但例外的是它必须是内部类。通过下一节中解释的示例可以很好地理解嵌套静态类的功能。
尽管关于 JAVA 静态嵌套类有一些需要注意的要点:
下面提供了一些示例及其解释,供您查看。
这些示例演示了程序处理过程中数据流中静态关键字的使用和理解。
代码:
public class Test1 { static int vnumber=25; static class Innerclass { void printmsg () { System.out.println ("We are running this proram to undertsand the implementation of static keyword under JAVA nested class. The value of number passed here is "+vnumber);} } public static void main(String args[] ) { Test1.Innerclass object=new Test1.Innerclass(); object.printmsg(); } }
输出:
说明:静态类不是直接实例化的,因此在本例中,静态类是在外部类的帮助下实例化的。外部类“Test1”定义有一个名为“vnumber”的静态变量和一个名为“Innerclass”的静态类。 该方法定义在名为“printmsg()”的内部类下。该函数包含一个字符串和一个在外部类中定义的变量。
程序执行时,首先调用main函数。外部类以及带有点运算符的内部类用于实例化。调用名为“object”的实例。然后该对象用于调用函数 printmsg()。 printms() 函数带来存储在其中的字符串和来自外部类静态变量声明的值为 25 的变量。所以我们使用类实例化的方法来演示静态嵌套类的用法。这里需要注意的一点是,使用了静态内部类和静态变量,但 printmsg() 函数是非静态的。这就是我们在上面的例子中实例化的原因。如果这个函数是静态的,那么我们就会以另一种方式使用它。
代码:
public class Test2 { static int vnumber=30; static class Innerclass { static void printmsg() { System.out.println("We are running this proram to undertsand the implementation of static keyword under JAVA nested class. The value of number passed here is : "+vnumber);} } public static void main(String args[]) { Test2.Innerclass.printmsg(); } }
输出:
说明:这里,我们演示一个静态嵌套函数的示例,其中变量、类和方法都是静态定义的。这样做是为了演示直接调用方法而不是调用对象来调用方法。由于无论何时使用“static”关键字,都不需要创建对象。可以直接使用。因此,这里创建了一个名为“test2”的外部类,其中包含一个名为“vnumber”的静态变量和一个名为“innerclass”的内部类。内部类附加了一个static关键字来演示静态嵌套类的使用。内部类有一个静态成员函数及其字符串和一个变量。
main函数在程序执行时被调用。外部类、内部类和方法通过点运算符直接调用。这里我们没有像上一个示例中创建的那样创建对象,因为方法本身被声明为静态。
当我们想要限制内部类中外部函数的成员函数的使用时,静态嵌套类会很有用。这是可能的,因为内部静态类只能访问外部类的静态成员,而外部类的其他非静态成员如果内部类想要使用它们,仍然需要创建一个对象。如果程序员正在寻找在他/她的代码中继承一些安全性,则可以使用此方法。 static 关键字确保数据不易被操纵。这有助于提高应用程序的数据安全性和可靠性。
以上是Java静态嵌套类的详细内容。更多信息请关注PHP中文网其他相关文章!