So I've never played BF4 before, but I had played a lot of CoD before. I only know a couple of things about BF4, like it has bigger maps and bullet-drop. One thing I would like to know is can I change classes mid-game? Are there even classes? I want to practice sniping, but if I start getting destroyed I'd want to change to an SMG class.
Yes, you can change between the 4 classes (Assault, Engineer, Recon, and Support) whenever you are dead and waiting to spawn.
There are classes in Battlefield, but they're not the same as in Call of Duty. There are only four, they are somewhat predefined, and with more limited customization than in CoD.
Yes, you can change classes during a match each time you die. You can also edit the class loadouts during a match, changing things like your primary weapon or your attachments.
You can find more information on the classes in various locations, like IGN.