 Some languages (Java, for example) let classes enforce access restrictions explicitly, for example denoting internal data with the codice_1 keyword and designating methods intended for use by code outside the class with the codice_2 keyword.Methods may also be designed public, private, or intermediate levels such as codice_3 (which allows access from the same class and its subclasses, but not objects of a different class).In other languages (like Python) this is enforced only by convention (for example, codice_1 methods may have names that start with an underscore).