0

Hi people I'm new to posting here so sorry if I get the code wrapping thing wrong

Bascially I think I'm having a heirachy problem and its probably really obvious.

This is the the class with the error. The top line gives me an error saying cannot find symbol, constructor Something().

public class ExecutionStackDemo extends Something
{
public static void m2(Something sth)
{
int i = 3;
sth.grow(2 * i);
i = 4711;
if (sth.isNegative())
{
sth.grow(i);
}
}
public static void main(String[] args)
{
int i = -2;
Something s = new Something(i);
m2(s);
}
}

and this is the class I'm trying to refer to..

public class Something
{
public int n;
public Something(int n)
{
this.n=n;
}
public void grow(int d)
{
this.n += d;
}
public boolean isNegative()
{
return (this.n < 0);
}
public String toString()
{
return ("something(" + this.n + ")");
}

Hope this comes out properly. Would be thankful for any help :)

2
Contributors
1
Reply
2
Views
10 Years
Discussion Span
Last Post by Infarction
0

I don't know if I'm right, but I think it's because you've not defined a constructor for ExeccutionStackDemo. IIRC, the default constructor in Java is something like

Classname() { 
  super(); 
}

and since Something doesn't have a blank constructor, the default one in ExecutionStackDemo is screwing up. Why do you need the extends clause though? It's not like ESD is at all related to Something...

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.