Class Structure
A Hand class might be useful. It can calculate and store the hand value. This would also avoid the duplication you currently have (calcHandValue and Hit). Your Dealer class contains a lot of code that I would not place there. It contains the dealer AI (when does the dealer hit?), winning/losing condition check, printing, and counting. With a Hand class, you would already separate out some of it. I would also remove all the prints (they make code reuse difficult, and lead to bad code structure), and separate the AI logic to its own class (this would make it easier to change the rules, because they are all in one place).
Your Blackjack class also does way too much. It prints, it reads input, it handles input, it checks winning/losing conditions (again, a duplication, see next point), etc. It is the player as well as the game, which violates the single responsibility principle.
Whenever you copy/paste code, try to think of a better alternative. In this case, your Dealer and your Blackjack class contain a lot of duplication. Mainly because they both represent a blackjack player (the dealer and the player). A generic Player class might be helpful, from which Dealer and HumanPlayer extend. So to summarise: I would add at a minimum a Hand, Player and HumanPlayer class. Possibly also an Input/Output interface and ConsoleInput/ConsoleOutput class (which would make it easy to add a GUI). There are more classes you could create, but this would be a good start.
Misc your whole shuffle function can be replaced by Collections.shuffle(deck);. Why does your Dealer class have hands and aHand? This seems unnecessary and confusing. you have some style issues (position of curly bracket, indentation, spaces, etc). It seems mostly internally consistent (that's the important part), but does not really match what most Java programmers are used to. Most IDEs that support Java (e.g. Netbeans or Eclipse) format the code per default in a way most Java programmers recognize. variable and method names should start lowercase, so they are not confused with classes. if (cond) return true else return false can be written as return cond.