Appium testing supports writing tests in multiple programming languages, including Java. Testing can be done against native or hybrid apps or responsive web pages on both iOS and Android devices. Only the test setups differ.
For a guide on how to get started with Appium testing using Java, check out our tutorial on Github.
A guide on the various Appium test setup configurations, the desired capabilities, if found here.