Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Java (http://www.velocityreviews.com/forums/f30-java.html)
-   -   non-static method cannot be referenced from a static context (http://www.velocityreviews.com/forums/t389563-non-static-method-cannot-be-referenced-from-a-static-context.html)

mstng_67 12-20-2006 04:52 PM

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


Andrew Thompson 12-20-2006 05:03 PM

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.


castillo.bryan@gmail.com 12-20-2006 05:16 PM

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



Thomas Hawtin 12-20-2006 05:19 PM

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 01:49 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.