Non-static variable method cannot be referenced from a static context

AI Thread Summary
To access an ArrayList from a static context in Java, a non-static instance of the Company class must be referenced correctly. The compile error "non-static variable method cannot be referenced from a static context" occurs because the method variable is not static. The solution involves declaring the Company object as static or creating a static method to return the instance. Additionally, a method can be created to pass the Company object to other classes, allowing access to the getList method. This approach simplifies the process compared to more complex tutorials.
stripes
Messages
262
Reaction score
0

Homework Statement



I just need to know how to access an arraylist that was created in a class (call it Company). In class CompanyTest, I need to access a list of employees that was created in Company.

This is Company class:
Code:
	public ArrayList<Employee> list = new ArrayList<Employee>();
	
	public ArrayList<Employee> getList()
	{
		return list;
	}

and in CompanyTest class, I wish to access the list by calling the method getList:
Code:
public class CompanyTest extends Company
	
{	
	[B][SIZE="3"]Company method = new Company();[/B]
	
	public static void main(String[] args)
	{
		[B][SIZE="3"]ArrayList<Employee> list = method.getList();[/B]
                //code continues
        }
...

static class Action implements ActionListener
		{
			public void actionPerformed (ActionEvent e)
			{
				[B][SIZE="3"]ArrayList<Employee> list = method.getList();[/B]

				//code continues

                                Employee emp = new Employee(tempName, tempAddress);
				list.add(emp);
			}
		}

So the idea here is that I create the Company object outside the main method so that the method getList can be used in the main method, and in other subclasses (the actionlistener one).

I keep getting a compile error saying "non-static variable method cannot be referenced from a static context"

What do I need to do to make the list (which is already public in Company class) accessible to whatever I want. Not a very complicated question and I think I may have asked it before. Mark44 I think has done his best to help me in the past but this problem is quite simple. My assignment is due in 2 and a half hours so if anyone reads this and is able to give me the quick answer, it would be greatly appreciated. Thanks everyone.
 
Last edited:
Physics news on Phys.org
Problem solved. Simply added static in front of the company object from Company class I think. Then I created a method companyPass to pass the Company object to wherever companyPass was located, and then used my existing getList method to extract the list from the Company object.

Much simpler than the tutorials I read online.
 

Similar threads

Replies
2
Views
2K
Replies
6
Views
2K
Replies
1
Views
1K
Replies
1
Views
1K
Replies
2
Views
3K
Replies
3
Views
1K
Replies
1
Views
1K
Replies
1
Views
2K
Back
Top