gpt4 book ai didi

java - 为什么我们可以使用 'new' 关键字来获取非静态外部类中静态内部类的引用?

转载 作者:行者123 更新时间:2023-12-02 13:29:13 26 4
gpt4 key购买 nike

从下面的代码中可以看到,我们编写RemoveDups_1.LinkedList linkedList = new RemoveDups_1.LinkedList();来获取非静态类RemoveDups_1内的静态类LinkedList的实例。既然这是一个静态类,为什么我们需要使用 new 关键字来获取 LinkedList 类的实例?

import java.util.*;

public class RemoveDups_1{
public static class LinkedList{

static int i = 5;

class Node{
int data;
Node next;

public Node(int data){
this.data = data;
}
}

Node head;

public void appendToTail(int data){
if(head == null){
head = new Node(data);
}
else{
Node node_to_append = new Node(data);
Node node = head;
while(node.next != null){
node = node.next;
}
node.next = node_to_append;
}
}
}



public static void main(String[] args){

RemoveDups_1 removeDups_1 = new RemoveDups_1();
RemoveDups_1.LinkedList linkedList = new RemoveDups_1.LinkedList();
RemoveDups_1.LinkedList.Node node;
node = linkedList.new Node(3);

System.out.println(RemoveDups_1.LinkedList.i);

}
}

最佳答案

LinkedList 是嵌套类,您需要它是静态的,以便实例化它,而不需要创建其外部类的实例

关于java - 为什么我们可以使用 'new' 关键字来获取非静态外部类中静态内部类的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43249690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com