I made an account on Ether wallet and I lost my private keys and Json or keystore file. I only have Public keys. Is there any ways to recover my account?
I lost my private keys and Json or keystore file.
If you've lost your keystore you won't be able to recover your account.
The public key is generated from the private key, and then encrypted into a json (keystore) file with your passphrase and something called salt, which is a randomly generated value.
Without the json (keystore) file, it's gone.
Private key derives public key which derives address.
In the case of Etheruem Wallet, the private key is encrypted with password and stored in an extensionless keystore file (JSON format, but no extension) with some additional data.
I only have Public keys.
To get the actual private key and do anything you have to decrypt it with your password. If you just have your password, you have nothing to decrypt.
You say that you made an account on "Ether wallet". Do you mean "MyEtherWallet"? If that's the case, after you created your wallet MyEtherWallet prompted you to save your Keystore file. So, there's a good chance that your Keystore file is stored somewhere on the computer that you used to create the account. You can search that computer's hard drive for files that begin with "UTC-".
Much more information here in the section called "Find Your Keystore File".