What is a driver class? (Java)

2020-02-05 06:06发布

问题:

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?

回答1:

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."



回答2:

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.



回答3:

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.



回答4:

"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)



标签: java oop driver