我的Java編譯器將返回以下錯誤消息如何修復「無法從靜態上下文中引用非靜態方法」?
非靜態方法的getParameter(字符串)不能從上線
String Cliente4 = UtilMainApp.Cliente
靜態上下文
引用。
我有以下類別:UtilMainApp.java
package uk.co.mmscomputing.util;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.beans.*;
import javax.swing.*;
import uk.co.mmscomputing.util.log.LogBook;
abstract public class UtilMainApp extends JApplet{
private Properties properties=new Properties();
private File propertiesFile;
private JFrame frame = null;
public String Cliente = getParameter("id"); // I need use this variable
... etc...
和ImageTab.java
:
package uk.co.mmscomputing.application.imageviewer;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.awt.print.*;
import java.io.*;
import java.util.*; // as of 1.5.0 java.util has class Scanner
import javax.imageio.*;
import javax.imageio.stream.*;
import java.beans.*;
import java.net.URL;
import java.net.URLConnection;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.imageio.metadata.*;
import uk.co.mmscomputing.util.UtilMainApp;
import uk.co.mmscomputing.util.JarImageIcon;
//import uk.co.mmscomputing.imageio.*;
import uk.co.mmscomputing.image.operators.*;
public class ImageTab extends JPanel implements PropertyChangeListener{
static public final String fileOpenID="uk.co.mmscomputing.file.open.dir";
static public final String fileSaveID="uk.co.mmscomputing.file.save.dir";
protected Properties properties;
protected JTabbedPane images;
protected JFileChooser openfc;
protected JFileChooser savefc;
... etc...
//UtilMainApp mc = new UtilMainApp(); //This is the part when I compile have an error
String Cliente4 = UtilMainApp.Cliente;
String Usuario;
Usuario = Cliente4;
JOptionPane.showMessageDialog(null, Usuario);
...etc...
這是怎麼造成的,我該如何解決呢?
您的問題標題已修復以反映具體問題。現在請查看右側的「相關」列表(還有[這裏](https://www.google.com/search?q=%22non-static%20method%22%20%22cannot%20be%) 20referenced%20from%20A%20static%20context%22))。 – BalusC