Я хочу получить доступ к variable
с помощью метода static
.Как получить доступ к переменной из статического метода
Например:
public class ABC
{
public static void ABC()
{
int abc = 123;
int bcd = 234;
}
public int getabc()
{
int tempabc = abc;
return tempabc;
}
public int getbcd()
{
int tempbcd = bcd;
return tempbcd;
}
public static void main(String[] args)
{
System.out.println(ABC.getabc());
}
}
Так вот код ошибки:
error: cannot find symbol
int tempabc = abc;
^
symbol: variable abc
location: class ABC
error: cannot find symbol
int tempbcd = bcd;
^
symbol: variable bcd
location: class ABC
error: non-static method getabc() cannot be referenced from a static context
System.out.println(ABC.getabc());
^
3 errors
Итак, как я могу получить доступ к value
в variable
от статического метода?
EDIT:
Я редактировал код, и я просто хочу, чтобы получить значение abc
от static
ABC()
. Но, основываясь на приведенном выше примере кода, при компиляции отображается ошибка.
Образец кода имеет тот же стиль программного кода.
ОК, вот мой код программы:
import java.io.*;
import java.util.*;
public class ReadHighestScoreFile
{
public static void ReadHighestScoreFile() throws IOException
{
final int NAME_SIZE = 35;
String name = "";
public static String names = 0;
static int hours, minutes, seconds, clicks;
File file = new File("Highest.txt");
RandomAccessFile out = new RandomAccessFile(file, "rw");
for (int i = 0; i < NAME_SIZE; i++)
{
name += out.readChar();
}
names = name;
hours = out.readInt();
minutes = out.readInt();
seconds = out.readInt();
clicks = out.readInt();
System.out.println(">> Name : " + names);
System.out.println(">> Hour : " + hours);
System.out.println(">> Minute: " + minutes);
System.out.println(">> Second : " + seconds);
System.out.println(">> Click : " + clicks);
out.close();
}
}
Моя программа используется для доступа к файлу Highest.txt
. Но мне нужно получить значения names
, hours
, minutes
, seconds
и clicks
для выполнения моей основной программы. Я нашел эту проблему, когда попытался реализовать ее в своей основной программе.
Если я делаю это отдельно, то есть я создаю метод main
для этого кода, он будет работать нормально. Но теперь мне нужно получить эти значения для моей основной программы для выполнения других операций.
Ваш метод 'ABC()' выглядит подозрительно, как попытка «статического конструктора», что на самом деле не имеет особого смысла. –
Вы пытаетесь получить доступ к переменным переменной функции, а не статическим переменным. – Nick
Попытайтесь прочитать это сначала: http://docs.oracle.com/javase/tutorial/java/index.html –