![]() |
non-static method cannot be referenced from a static context
I have read posts on this group dealing with this syntax error. My
trouble goes a little further than that of needing to instantiate an object as described below in a previous post. I am trying to invoke Class.getResource(String arg) and am getting the same syntax error. However, I am not able to instantiate a Class object as there are no constructors for class Class. The Java Virtual Machine creates the objects automatically. The following is my code. Pasted after that is the post advising someone to instantiate an object. Can anyone help? import java.io.*; import java.net.*; public class Driver { //##################### methods ######################### static void printPath() { URL myURL = Class.getResource("."); System.out.println(myURL.toString()); }//end of printPath public static void main( String[] args) throws Exception { //################### logic for main #################### printPath(); } //===== end of main ===== } //======= end of class Driver ======= From: Lee Weiner - view profile Date: Fri, Nov 22 2002 11:16 pm Email: l...@NOSPAM.com (Lee Weiner) Groups: comp.lang.java.programmer Not yet rated Rating: hide options Reply | Reply to Author | Forward | Print | Individual Message | Show original | Report Abuse | Find messages by this author In article <v8nttuk8ldg2irss2o0unn49lh3llf9...@4ax.com>, Banne <a...@nomorespemmingc.bb> wrote: >I got the following error when I compiled my program: >non-static method createImage(int,int) cannot be referenced from a >static context > Image img = Frame.createImage(2000,1000); >I am sure that I called the method within a non-static method, but >still it complained about calling it within a static method. >Anyone knows why? Not within a static method, within a static context. The message is telling you that createImage() is a non-static method and you're calling it from the name of the class, Frame. Non-static methods have to be called from the name of an instantiated object: Frame frm = new Frame(...); Image img = frm.createImage(2000, 1000); Lee Weiner lee AT leeweiner DOT org |
Re: non-static method cannot be referenced from a static context
mstng_67 wrote:
> I have read posts on this group dealing with this syntax error. My > trouble goes a little further than that of needing to instantiate an > object as described below in a previous post. I am trying to invoke > Class.getResource(String arg) and am getting the same syntax error. > However, I am not able to instantiate a Class object as there are no > constructors for class Class. ..... > import java.io.*; > import java.net.*; > > public class Driver > { > //##################### methods ######################### > static void printPath() > { > URL myURL = Class.getResource("."); <http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()> Andrew T. |
Re: non-static method cannot be referenced from a static context
mstng_67 wrote: > I have read posts on this group dealing with this syntax error. My > trouble goes a little further than that of needing to instantiate an > object as described below in a previous post. I am trying to invoke > Class.getResource(String arg) and am getting the same syntax error. > However, I am not able to instantiate a Class object as there are no > constructors for class Class. The Java Virtual Machine creates the > objects automatically. The following is my code. Pasted after that is > the post advising someone to instantiate an object. Can anyone help? > > import java.io.*; > import java.net.*; > > public class Driver > { > //##################### methods ######################### > static void printPath() > { > URL myURL = Class.getResource("."); Try this: URL myURL = Driver.class.getRsource("."); > System.out.println(myURL.toString()); > }//end of printPath > > public static void main( String[] args) throws Exception > { > //################### logic for main #################### > printPath(); > > } //===== end of main ===== > > } //======= end of class Driver ======= > > > From: Lee Weiner - view profile > Date: Fri, Nov 22 2002 11:16 pm > Email: l...@NOSPAM.com (Lee Weiner) > Groups: comp.lang.java.programmer > Not yet rated > Rating: > hide options > Reply | Reply to Author | Forward | Print | Individual Message | Show > original | Report Abuse | Find messages by this author > > In article <v8nttuk8ldg2irss2o0unn49lh3llf9...@4ax.com>, Banne > <a...@nomorespemmingc.bb> wrote: > > >I got the following error when I compiled my program: > > >non-static method createImage(int,int) cannot be referenced from a > >static context > > Image img = Frame.createImage(2000,1000); > > >I am sure that I called the method within a non-static method, but > >still it complained about calling it within a static method. > >Anyone knows why? > > Not within a static method, within a static context. The message is > telling > you that createImage() is a non-static method and you're calling it > from the > name of the class, Frame. Non-static methods have to be called from > the name > of an instantiated object: > Frame frm = new Frame(...); > Image img = frm.createImage(2000, 1000); > > Lee Weiner > lee AT leeweiner DOT org |
Re: non-static method cannot be referenced from a static context
Andrew Thompson wrote:
> mstng_67 wrote: >> URL myURL = Class.getResource("."); > > <http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()> Or more appropriately, "15.8.2 Class Literals": http://java.sun.com/docs/books/jls/t...ns.html#15.8.2 Tom Hawtin |
| All times are GMT. The time now is 07:35 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.