Home  >  Article  >  Java  >  Example Analysis of Java Classes and Objects

Example Analysis of Java Classes and Objects

WBOY
WBOYforward
2023-04-21 11:01:07959browse

1. What is a class

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.

2. Similarities and Differences between Java classes and structures in C language

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

3. Classes and instantiation of classes

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

Declaration of class

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 rules

Default value rules: deformation of 0

Special:

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 modification

The 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 rules

How 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 directly

Note:

Static properties exist In the method area

No matter how many new objects there are, there is only one copy of the static properties
  • Non-static data members cannot be accessed inside a static method value, nor can you call non-static methods
  • Static methods do not depend on objects
  • 4. Constructor method
  • First we want to Think about it, how does an object come into being?

Allocate memory for the object

Call the appropriate constructor
  • When we use new to When instantiating an object, the constructor will be automatically called to complete the initialization operation
  • Create the constructor

The method name must be the same as the class name

No return value type declaration
  • Each class has at least one constructor (if not defined, the system automatically generates a parameterless constructor)
  • The following code:
  • System.out.println(Dog.a);
  • In this code there is the Dog class, which has two constructors, one without parameters and one with parameters. When creating an object through new, use After constructing with parameters, you can see the printed result

So you can actually see that which construction method is called depends on the parameters passed in new

Note:

Example Analysis of Java Classes and Objects

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 overloading
  • this
  • The role of this

    In many cases, someone may mistakenly think that this is the current object, but in fact this is a reference to the current object
  • Why 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!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete