为什么此代码会出现“无法访问的代码”错误?
我似乎找不到解决这个问题的方法。 我正在做的就是声明一个整数,它告诉我代码是无法访问的。
private class myStack{ Object [] myStack = new Object[50]; private void push(Object a){ int count = 50; while(count>0){ myStack[count]=myStack[count-1]; count--; } myStack[0]=a; } private Object pop(){ return myStack[0]; int count2 = 0; //Unreachable Code } }
从方法return
后,您将返回到首先调用该方法的方法。 在返回之后放置的任何语句都是没有意义的,因为这是在没有严重违反程序计数器的情况下无法访问的代码(在Java中可能无法实现)。
引用Jim H.对问题的评论:
您从pop()方法返回。 之后的任何事情都无法到达。
无法访问的代码导致Java中的编译器错误。
在你的程序中
int count2 = 0;
永远不会到达,因为它是在返回声明之后。
将此行放在return语句上方即可工作。
用简单的英语简单解释如下:
private Object pop(){ return myStack[0]; int count2 = 0; //Unreachable Code }
方法private Object pop(){}
正在寻找一个返回类型的Object
,你只需通过编写return myStack[0];
给出该返回类型return myStack[0];
那么你的方法不一定达到int count2 = 0;
因为它假设该方法已经达到了目标。
在返回myStack [0]之前声明修复