这道题怎么理解

来源:百度知道 编辑:UC知道 时间:2024/05/20 08:41:09
在J2EE中,给定以下JSP代码片断,运行结果是()。(选择一项)
<% int x=5; %>
<%! int x=7; %>
<%!
Int getX() {
return x;
}
%>
<% out.print(“X1=”+x); %>
<% out.print(“X2=”+getX()); %>

答案是5和7 但我觉得都应该是7吧。。因为是先定义了5在定义了7啊 而且第二次定义还是全局的,我觉得X被第二赋值成了7
给定以下JSP代码片断,有2个客户依次浏览该JSP,且每个客户只浏览一次,第2个客户会看到浏览器显示()。(选择一项)
<%int x=1%>
<%!int x=10%>
x=<%=++x%>
如果按答案给的 为什么这道题答案是11呢

应该是7
因为<%%>是方法里的 故<% int x=5; %> 范围小于
<%! int x=7; %>所以 <% out.print(“X1=”+x); %> 直接取的肯定先取本方法里的所以 第一个是5
<%!%>是类里的 所以<%!
Int getX() {
return x;
}
%>
方法取道的也是类里的 <%! int x=7; %> 所以第<% out.print(“X2=”+getX()); %>
是7