Java Programming - Operators and Assignments - Discussion
Discussion Forum : Operators and Assignments - Finding the output (Q.No. 12)
12.
What will be the output of the program?
class Test
{
static int s;
public static void main(String [] args)
{
Test p = new Test();
p.start();
System.out.println(s);
}
void start()
{
int x = 7;
twice(x);
System.out.print(x + " ");
}
void twice(int x)
{
x = x*2;
s = x;
}
}
Answer: Option
Explanation:
The int x in the twice() method is not the same int x as in the start() method. Start()'s x is not affected by the twice() method. The instance variable s is updated by twice()'s x, which is 14.
Discussion:
12 comments Page 2 of 2.
Deepak bansal said:
7 years ago
As I know a static variable can call by static method only but here twice is not a static method so how can it call s?
Nikhil Pattanaik said:
3 years ago
Here, s is static variable. And static variables can only used by static methods or static blocks. So how can a non static twice method update the value of a static variable s. The s should be a class variable only not static.
(1)
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers