Question: I'm trying to learn about how does Java access smart cards, due to a project analysis. I wonder if there is any kind of virtual smart card which I could use to make some tests with Java?

By the way, I've read about Java Card, and looks like it is used to run Java in cards, not to smart card data access using Java, right?

Answer: 
Javacard use Java only a subset of the Java development You'd better not use Java development environment Because there are some special effects is not support
You can download the plugin or a dedicated development IDE, you can download it from here www.javacos.com related development environment.
If you need to emulate JavaCard try to use jCardSim: <http://jcardsim.org>. 
It also supports access via javax.smartcardio API and apdu-scripts.