already seen examples that use the public keyword in generalthe different class modifiers and their meaning is as followsthe abstract class modifier describes class that has abstract methods abstract methods are declared with the abstract keyword and are empty (that isthey have no block defining body of code for this methoda class that has nothing but abstract methods and no instance variables is more properly called an interface (see section )so an abstract class usually has mixture of abstract methods and actual methods (we discuss abstract classes and their uses in section the final class modifier describes class that can have no subclasses (we will discuss this concept in the next the public class modifier describes class that can be instantiated or extended by anything in the same package or by anything that imports the class (this is explained in more detail in section public classes are declared in their own separate file called classname javawhere "classnameis the name of the class if the public class modifier is not usedthe class is considered friendly this means that it can be used and instantiated by all classes in the same package this is the default class modifier base types the types of objects are determined by the class they come from for the sake of efficiency and simplicityjava also has the following base types (also called primitive types)which are not objectsboolean boolean valuetrue or false char -bit unicode character byte -bit signed two' complement integer short -bit signed two' complement integer