+ 2

error: non-static variable introduction cannot be referenced from a static context!

Hey everyone, I tried to code using what I learned from "Arrays", "Loops" and "Methods". However, I was not quite successful. I left the link below. Please help me with debugging it. https://code.sololearn.com/cbGrgC6VF2w1/#java Thanks.

11th Jun 2019, 2:41 AM
Reza
Reza - avatar
4 Answers
+ 2
When you want to access the field that are not static you must create an object, then use that object to reference the field (except private) that you want to use. Or when creation of object is not needed declare the field as static
11th Jun 2019, 1:31 PM
Odiesta Shandikarona
Odiesta Shandikarona - avatar
+ 3
Reza Please check this .. it will help class MyClass { // you need to make static introduction variable because you are using this variable in static method static String[ ] introduction = { "My", "name", "is", "Reza"}; static void sayHello(int x) { System.out.println(introduction[x]); } public static void main(String[] args) { // and here x = 0 , because the array start with 0th index for(int x = 0; x <=3; x++) { // add here you can just variable while calling sayHello(x); } } }
11th Jun 2019, 6:02 PM
P∆WAN M∆URY∆
P∆WAN M∆URY∆ - avatar
0
Java main() method cannot access a non-static member of its class. That means, public static void main(String[] args) is a static method. Instance variables (variables defined in the class but not marked as static keyword) cannot be accessed from a static method without referencing an instance of the class. An attempt to use the variables and methods of the class which do not have the static modifier without creating an instance of the class is caught by the Java compiler at compile time and flagged as an error: Cannot Be Referenced From a Static Context . To solve your problem, you need to create an instance of your class and then you can access the methods and variables of the class that have not been declared with the static modifier . Static methods are useful if you have only one instance where you're going to use the method, and you don't need multiple copies (objects). Non-static methods are used if you're going to use your method to create multiple copies. http://net-informations.com/java/err/static.htm
6th Nov 2020, 6:03 AM
paulwings