• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Question about native methods (Dan C example)

 
Garrett Smith
Ranch Hand
Posts: 401
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
[B]

Compile-time errors are generated at which lines?
a. 1
b. 2
c. 3
d. 4
e. 5
f. None of the above.
[/B]

In looking at this, I went through each implementation to see if it violated the rules for implementing an interface. All subclasses are concrete (non-abstract), so the question is: does each class implement public void m1()?
Classes D, E, and F do. What about class G? It looks like an abstract method. I chose answer e, because it looks like a lack of implementation.
My answer is wrong. The real answer is below (don't look yet).
My question: How do native methods work?

(anwser: i. none of the above)
 
Barry Gaunt
Ranch Hand
Posts: 7729
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A native method is implemented in a module which the JVM has to load before calling the method. The module is implemented in a language such as C, C++, PL/1 (yes, on IBM 390).
There's something here that explains it all.
 
Sarma Lolla
Ranch Hand
Posts: 203
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Unless you call the native method in your code JVM wouldn't even verify if the library in which the native method has implementation is included or not.
So as long as you are not calling the native method every thing is OK. You can declare a method as native.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic