Hi,
I was reading through a Java textbook, and it mentions something called a "driver class". What is it, and how is it different from a normal class?
Hi,
I was reading through a Java textbook, and it mentions something called a "driver class". What is it, and how is it different from a normal class?
A "Driver class" is often just the class that contains a main. In a real project, you may often have numerous "Driver classes" for testing and whatnot, or you can build a main into any of your objects and select the runnable class through your IDE, or by simply specifying "java classname."
Without context, it's hard to tell. Is it talking about a JDBC driver, perhaps? If so, the driver class is responsible for implementing the java.sql.Driver interface for a particular database, so that clients can write code in a db-agnostic way. The JDBC infrastructure works out which driver to use based on the connection string.
If the book wasn't talking about JDBC though, we'll need more context.
"driver class" could refer to a procedural programming style involving: (1) "container classes" and (2) "driver classes"
Say that you are creating your own object as a container for data. Then you might want to create two types of classes: "containers" and "drivers"
The "container class" might contain: - instance variables to hold the relevant data - getters and setters - methods to support moving data in/out of class (parsing, translation) - limited computations
The "driver class" might contain: - main method that drives the execution of the overall task (aka entry point for execution) - calls to static methods, as with procedural programming - instances of container class objects to hold different data (may be organized in other data structures, e.g. arrays; manipulated to solve overall task)
According to my Java book: A driver class is a class that is in charge of running other classes. Just as the computer term "Software Driver" refers to a piece of software that runs or drives something else.