Home >Java >javaTutorial >Example Analysis of Java Classes and Objects
Class (Class) is the basis for information encapsulation in object-oriented programming (OOP, Object-Oriented Programming). A class is a user-defined reference data type, also called a class type. Each class contains data description and a set of functions for operating data or transmitting messages. Instances of the class are called objects
The essence of the class is a reference data type, similar to byte, short, int, char, long , float, double and other basic data types, the difference is that it is a complex data type. Because its essence is a data type, not data, it does not exist in memory and cannot be directly manipulated. It only becomes operable when it is instantiated as an object.
We can find that classes in Java are actually very similar to structures in C language, so what are the differences between them?
1. Packed objects are different
The structure of C language is the packaging of data. Packing a bunch of conceptually related data together to facilitate overall processing. The outside world can read and write these data at will
Java objects can package data or package responsibilities
2. The storage location is different
C language The structure can be stored on the stack or on the heap
Java objects can only exist on the heap
Classes Members can include the following: fields, methods, code blocks, internal classes and interfaces, etc.
can be vividly understood as a class is a template, and the instantiation of the class is to create objects through this template (a template can create countless object)
Declaring a class is actually equivalent to customizing a new type, reference type
Basic form:
class class name{
Field (member variable/property);
Method (member method);
}
The class here is the keyword of the class
Elements in the class: attributes (inside the class, outside the method)
Methods in the class: member methods
The following example:
public class Dog { public String name; public int age; public void bark() { System.out.println("汪汪"); } }
Passed The above code creates a dog class with two attributes: name and age. The behavior is called
The public in front of the attribute is the access modifier
Do not add static## in front of the member method
#Instanced objects, members follow the default value rulesDefault value rules: deformation of 0Special:Reference type: null boolean:false Reference. Member variables are used to access member variables. Ordinary methods are called through object references. Method names are used to call static properties (static member variables) are defined inside the class and outside the method. Add static modificationThe following code:class Dog { public String name; public int age; public boolean are; public static int a; public void bark() { System.out.println("汪汪"); } } public class Practice { public static void main(String[] args) { Dog dog = new Dog(); // 实例化一个对象 System.out.println(dog.are); // 通过.来访问 } }Note: Static properties still follow the default value rulesHow to access:You need to know that static member variables are not It belongs to the object, but to the class, so we cannot access it through the reference of the object. Member variables, but the class name. Static properties are accessed, and the static methods are accessed through the class name.As follows:
class Dog { public String name; public int age; public boolean are; public static int a; // 静态属性 public void bark() { System.out.println("汪汪"); } }Error example:
System.out.println(Dog.a);You do not need an object to access the static properties of the class, you can access them directlyNote: Static properties exist In the method area No matter how many new objects there are, there is only one copy of the static properties
System.out.println(Dog.a);
So you can actually see that which construction method is called depends on the parameters passed in new
Note:
When there is no constructor in the class, the system will automatically add a parameterless constructor, but when you write the constructor yourself, This parameterless construct will not be supplemented. If you need to use a parameterless constructor, you need to write it manually The construction method also supports overloadingWhy this is not an object, but a reference:
We need to know that the constructor method is used to create an object, so in the process of calling the constructor method to create an object, the object still does not exist. The theory of coming objects
So we can access properties, member methods, and constructors through this (when calling the constructor, it can only be placed on the first line, can only be written in the constructor, and can only be used once)
The above is the detailed content of Example Analysis of Java Classes and Objects. For more information, please follow other related articles on the PHP Chinese website!