How neutron can have an antiparticle since it have zero charge? Antiparticles are defined as fundamental particles having the same mass but opposite charge.
Now, a neutron has a particular mass (say m) , but zero charge ( =0). Its antiparticle should have mass=m but charge = -0 =0. i.e. another neutron.
So, how can a neutron have an antiparticle? Could a particle be its own antiparticle?
 A: Every particle has (or can have) an antiparticle. Sometimes, it is even his own antiparticle.
An antiparticle $D'$ is (easily said) defined as a particle $D$ after a CPT-transformation. CPT-Symmetry is believed to be a fundamental concept of physical nature. 
A CPT-transformation is a complete changing of observables of a particle. 
The C stands for charge changing, the P for parity and the T for time, so you just invert these values and get a new state for the particle which is still described by the same field equations.
A neutron has no charge, but it has other variables which are (of course) invariant under CPT-transformations. Also, the neutron is not an elementary particle, it is made of two up-quarks and one down-quark, an anti-neutron is made of two anti-up-quarks and one anti-down-quark. These quarks have charges which can be CPT-transformed.
A: A neutron has baryon number = 1, while the anti-neutron has baryon number = -1. Physics Guy has much the same here with quarks, that works as well. In the language of CPT the charge operator reverses the charge of the quarks, so the two up quarks with charge $-1/3$ is flipped to $1/3$ and the down quark from $2/3$ to $-2/3$. 
I gave this question a 1-vote, in part because somebody gave it a -1 vote. I am writing to express some dismay at down voting questions. This may not be a deep question to those well versed in physics, but it is not a dumb or bad question!
