I have this line of code.
class ButtonPanel extends JPanel implements ActionListener
{
public ButtonPanel()
{
yellowButton = new JButton("Yellow");
and It works, I thought Java needs to know the type of yellowButton before creating an instance of a jButton like this?
JButton yellowButton = new JButton("Yellow");
can somebody explain how this works?
If it really does work, then that means
yellowButtonis probably a class field that you didn’t notice.Check the class again. What you probably have is something more like this:
If a variable
foocannot be found in a method scope, it automatically falls back tothis.foo. In contrast, some languages like PHP do not have this flexibility. (For PHP you always have to do$this->fooinstead of$footo access class fields.)