Java
View Answers
July 30, 2008 at 3:24 PM
Hi friend,
Java does not have a preprocessor. It provides similar functionality (#define, typedef, and so forth) to that provided by the C++ preprocessor, but with far more control. Constant data members are used in place of the #define directive, and class definitions are used in lieu of typedef. The end result is that Java source code is much more consistent and easier to read than C++ source code. Additionally, as you learned earlier, Java programs don't use header files; the Java compiler builds class declarations directly from the source code files, which contain both class declarations and method implementations.
The C++ header file for a ball class.
The C++ ball class.
#define COLOR_RED 1
#define COLOR_YELLOW 2
#define COLOR_BLUE 3
#define MATERIAL_RUBBER 1
#define MATERIAL_LEATHER 2
class ball {
float diameter;
int color;
int material;
};
To move this code to Java, the only change is to get rid of the preprocessor #define directives and the semicolon at the end of the class declaration. You get rid of the #define directives by declaring Java class members that are static and final. For data members in Java, the static keyword means there is only one copy for the entire class, and the final keyword means that they are constant, which is usually the motive for using #define in C/C++ code. The resulting Java version of this class. Keep in mind that the Java version is not stored in a header file, because Java doesn't support header files; in Java, definitions and declarations are combined in one place, the .java source file.
The Java ball class.
class ball {
// Constants
static final int COLOR_RED = 1;
static final int COLOR_YELLOW = 2;
static final int COLOR_BLUE = 3;
static final int MATERIAL_RUBBER = 1;
static final int MATERIAL_LEATHER = 2;
// Variables
float diameter;
int color;
int material;
}
The Java version of ball pulls all the constants inside the class definition as static final integers. Within this class, you would then refer to them just as you would the previous C++ versions. However, outside this class they are inaccessible, because they have been left at their default access type. To make them visible by other classes, you simply declare their access type as public. The statement about default access isn't entirely true;
The Java ball class with public constants.
class ball {
// Constants
public static final int COLOR_RED = 1;
public static final int COLOR_YELLOW = 2;
public static final int COLOR_BLUE = 3;
public static final int MATERIAL_RUBBER = 1;
public static final int MATERIAL_LEATHER = 2;
// Variables
float diameter;
int color;
int material;
}
-------------------------------------------------------------------------
Thanks.
August 16, 2008 at 10:46 PM
The Java Native Interface, JNI, is just that; an interface. It's an API that allows Java code to interact with code written in another language, typically C or C++. Because the JNI is an interface, JVM vendors are free to implement the virtual machine as they see fit. As long as the JVM follows the specification of the JNI, all native code written to the specification should work with that JVM.
Related Tutorials/Questions & Answers:
javajava diff bt core
java and
java Advertisements
java java why iterator in
java if we for loop
Java Java Whether
Java is pure object oriented Language
JAVAJAVA how the name came for
java language as "
JAVA javajava explain technologies are used in
java now days and structure
java javajava different between
java & core
java javajava is
java open source
javajava what is
java reflection
java java in
java does not pointers concept but what is nullpointers in
java?
nullpointer is a runtime Exception
javawhat is the size of array in
java ? what is the size of array in
java ?
what is the mean of finalize in
java javajava why to set classpath in
java javajava RARP implementation using
java socket
javajava sample code for RARP using
java JavaJava how to do
java in command prompt
javajava how use
java method
javajava is
java purely object oriented language
javajava why multiple inheritance is not possible in
java javajava give a simple example for inheritance in
java javajava give a simple example for inheritance in
java javajava why to set classpath in
java javajava why to set classpath in
java javajava why to set classpath in
java java java What is ?static? keyword
javajava Does
java allows multiline comments
javajava Write a
java code to print "ABABBABCABABBA
javajava write a program in
java to acess the email
javajava send me
java interview questions
javajava what are
JAVA applications development tools
JavaJava Whether
Java is Programming Language or it is SOftware
javajava explain object oriented concept in
java java java difference between class and interface
JavaJava how to draw class diagrams in
java javajava write a
java program using filenotfoundexception
javajava how to edit text document by using
java
then how to edit starting and ending of text document by using
java javajava different between
java & core
java
print("code sample
java java how can use sleep in
java
which book learn of
java language
java java How to set
java Policy for applet using jdk 6
javajava pattern code for a given words
java pattern code for a given words pattern
javajava dear,
i want a field for date picker using
java/
java script
javajava create
java program for delete and update the details,without using database, just a normal
java program
javajava why methods in
java raise exceptions
Have a look at the following link:
Java Exceptions
javajava code to search the nodes how to write the
java code to search the nodes using routers
javajava online telephone directory i need coding for online telephone directory..by using
java....pls help me
javajava different between
java & core
java
print("code sample
javajava how to invoke one chart
java file from another
java file
javajava how to prepare the
java
Hi Friend,
If you want to learn how to install
java, creating and running a
java program then go through the following links:
http://www.roseindia.net/
java/beginners/index.shtml
http
javajava
java swing
Swing is a principal GUI toolkit for the
Java programming language. It is a part of the JFC (
Java Foundation Classes), which is an API for providing a graphical user interface for
Java programs
javajava what is the need of
java if
java is not there what will happen... work unless you have
Java installed, and more are created every day.
Java... to scientific supercomputers, cell phones to the Internet,
Java is everywhere!
http