今天在编译java::
无法访问类型的printListFromTailToHead的封闭实例。必须使用封闭实例限定分配
类型的printListFromTailTohead(egxnew a(),其中x是printListFromTailTohead的实例)。
源代码为:
公共类PRINTLISTFROMTAILTOHEAD {public static void main(string [] args){listNode one = new ListNode(1); ListNode二= new ListNode(2); ListNode; ListNode triph triph = new ListNode(3); One.Next; One.Next = two printListFromTailToHead(one);System.out.println("结果是:" + result);}class ListNode {public int val;public ListNode next;public ListNode() {}public ListNode(int val) {this.val = val;}}public static ArrayList<Integer> printListFromTailToHead(ListNode listNode) {stack <integer> stack = new stack <integer>(); while(listNode!= null){stack.push(listNode.val); listNode = ListNode = ListNode.next;} arrayList <integer> arraylist> arraylist> arraylist = araylist = new araylist <new arraylist <integer <integer <integer> stack> stack; {arraylist.add(stack.pop());} return arraylist;}}}问题解释:
代码中,listNode类是定义在printListFromTailTohead类中的内部类。listNode内部类是动态的内部类
就好比静态的方法不能调用动态的方法一样。
有两种解决办法:
第一种:
将内部类列表node定义成静态静态的类。的类。
第二种:
将内部类listNode在printlistfromtailtohead类外边定义。
两种解决方法:
第一种:
公共类PRINTLISTFROMTAILTOHEAD {public static void main(string [] args){listNode one = new ListNode(1); ListNode二= new ListNode(2); ListNode; ListNode triph triph = new ListNode(3); One.Next; One.Next = two printListFromTailTohead(one); system.out.println(“结果是:” +结果);} static class listNode {public int val; public int val; public listNode next; public listNode(){} public listNode(int val)第二种:
公共类PrintListFromTailToHead {public static void main(string [] args){listNode one = new ListNode(1); listNode二= new ListNode(2); listNode triph triph = new ListNode(3); One.Next = two; new list = two twe twe; tw; twe; tw; tw; {stack <integer> stack = new stack <integer>(); while(listNode!= null){stack.push(listNode.val); listNode = ListNode = ListNode.next;} arrayList <integer> arraylist> arraylist> arraylist = araylist = new araylist <new arraylist <integer <integer <integer> stack> stack; {arraylist.add(stack.pop());} return arraylist;}} class listNode {public int val; public listNode next; public listNode(){} public listNode(int val){this.val = val;}}}以上所述是小编给大家介绍的java解决没有类型的printlistfromtailtohead的封闭实例可访问问题的两种方案,希望对大家有所帮助。,希望对大家有所帮助。