Difference between public static and private static variables
java, private, public, static, variables
Solution
A public variable is accessible everywhere in the code - a private variable is only accessible within the class itself. In this case you're using `Employee.salary` within the `Employee` class, so that's fine.
Note that the variable being static is a completely separate matter - and methods and classes have accessibility in the same way as variables.
There are other levels of access available too - `protected` and the default "package" access (which can't be specified explicitly). See section 6.6 of the Java Language Specification for more details.
(As a side matter, it's also worth learning about what `static` means - you almost certainly don't want these variables to be statics, as they apply to each `Employee` rather than the `Employee` concept in general. It's odd for `DEPARTMENT` to be a constant here, too.)
Problem
``` class Employee{ // salary variable is a private static variable private static double salary; // DEPARTMENT is a constant public static final String DEPARTMENT = "Development"; public static void main(String args[]){ salary = 1000; System.out.println(DEPARTMENT+ " average salary:"+salary); } } ``` This java program contains a static variable. But I cannot understand the difference between public and private static variables.