0

Is a method a kind of object? If yes, of which class is it an instance of?

I mean, take method 'main' for example: public static void main(String[] args) { } What would method main be an instance of?

28th Jun 2017, 9:33 PM
Vinicius Matté Gregory
Vinicius Matté Gregory - avatar
5 Respuestas
+ 5
A method is a function. It is not an object. It, sometimes, has input, and normally returns a value.
28th Jun 2017, 9:40 PM
J.G.
J.G. - avatar
+ 3
Why would you need to store a function in a var? Just ponder this: A function is used to compact code used repeatedly. Instead, you could just write the same code each time you need it; however, it is much easier to just use a function to compact your code and make it easier to read. Now, consider what a function is. You name a function. To call the func, you use its name. What is a variable? How do you use it? It has a name that you can use to access the variable. This is almost identical to the way a function was described above. So, a func is kind of like a var that stores code. So, I can't really answer the question you gave, but I think that you are asking the wrong question. I hope that I have helped expain things. If something didn't make sense, I'd be glad to explain it.
28th Jun 2017, 11:14 PM
J.G.
J.G. - avatar
0
Yes. I know it is a function. But, unlike C, Java is Object Oriented. So, suppose I create a variable that should hold a function, this is only possible if the function has a type. Or would I create this variable as a pointer to void and assign it the place in memory where the function is? Or is it not possible at all? (I mean, for a variable to hold a function as its value.)
28th Jun 2017, 10:03 PM
Vinicius Matté Gregory
Vinicius Matté Gregory - avatar
0
Lets try a different approach: Lets suppose I want to create a method 'table' that receives a method, and two integers as arguments, and prints a table of values returned by this method in the given interval: table(Math.sin, 0, 1); table(Math.cos, 0, 1); You see. The first argument must be stored in a var. The method 'table' will do exactly the same thing, but with the results of different methods. Inside, method table will call these methods through this var, which is a referece to a function.
28th Jun 2017, 11:51 PM
Vinicius Matté Gregory
Vinicius Matté Gregory - avatar
0
As I read "Java, The Complete Reference" it seems that J.G.'s first answer is correct. I'm not sure yet, though. At least I found that Java is not a pure Object Oriented language as I thought it was. I was kind of expecting Java to be something like "everything is an object".
30th Jun 2017, 3:31 AM
Vinicius Matté Gregory
Vinicius Matté Gregory - avatar