I have a question and i suppose this is trivial for most around here. However, here goes -- I have an application that connects to a database to read specific information.
You can instantiate those static variables in static method of global, instead of constructor But this is not a good style:
static initialize(DBAccessInput input) {
a = ...
b = ...
}
You do no have to instantiate Global to access its static members. Static members are accessed by class name without object at all. So your approach is reasonable.
There are the following common practices to deal with "global" objects.
If I were you I'd make DBAccess
singleton, so you will be able to access Database the anywere: DBAccess.getInstance().find("the query")
BTW, take a look in tools that already implemented DB access layer. For example iBatis, Hibernate, JPA.