Answer:
Static variables are the variables decaraed with keyword static, static variables must be deacraled inside the class body, means we can not declare a static variable inside a method or consttructor, static variable belongs to class, for a class only one copy is created for static variable and used by all the objects/instances.
Static variable can access with class name like
X.i
Static method are the methods defined with static keyword, static method are also part of a class, we can access static meethod using class name like 
X.printI()  
Explanation:
class X
{
 //to create a static variable we need use static keyword with variable name like
 public static int i;
 
 // to create a static method we need to use static keyword while defining a method like
 public static void printHello() {
  System.out.println("Hello");
 }
 
 /*
  * A non static method can access static variable of a class there is no issue
  * with that we can use a static variable in a non static method like
  */ 
 
 public void printI() {
  System.out.println(i);
 }
 
 
 /*
  * As long as the class exist in JVM static variables will be there, as static
  * variable belong to class not with the instance,
  * it does not matters if there are instance exist or not
  */
 
}