search
HomeJavajavaTutorialExample Analysis of Java Classes and Objects

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:亿速云. If there is any infringement, please contact admin@php.cn delete
Java Platform Independence: Compatibility with different OSJava Platform Independence: Compatibility with different OSMay 13, 2025 am 12:11 AM

JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM),allowingcodetorunondifferentoperatingsystemswithoutmodification.TheJVMcompilesJavacodeintoplatform-independentbytecode,whichittheninterpretsandexecutesonthespecificOS,abstractingawayOS

What features make java still powerfulWhat features make java still powerfulMay 13, 2025 am 12:05 AM

Javaispowerfulduetoitsplatformindependence,object-orientednature,richstandardlibrary,performancecapabilities,andstrongsecurityfeatures.1)PlatformindependenceallowsapplicationstorunonanydevicesupportingJava.2)Object-orientedprogrammingpromotesmodulara

Top Java Features: A Comprehensive Guide for DevelopersTop Java Features: A Comprehensive Guide for DevelopersMay 13, 2025 am 12:04 AM

The top Java functions include: 1) object-oriented programming, supporting polymorphism, improving code flexibility and maintainability; 2) exception handling mechanism, improving code robustness through try-catch-finally blocks; 3) garbage collection, simplifying memory management; 4) generics, enhancing type safety; 5) ambda expressions and functional programming to make the code more concise and expressive; 6) rich standard libraries, providing optimized data structures and algorithms.

Is Java Truly Platform Independent? How 'Write Once, Run Anywhere' WorksIs Java Truly Platform Independent? How 'Write Once, Run Anywhere' WorksMay 13, 2025 am 12:03 AM

JavaisnotentirelyplatformindependentduetoJVMvariationsandnativecodeintegration,butitlargelyupholdsitsWORApromise.1)JavacompilestobytecoderunbytheJVM,allowingcross-platformexecution.2)However,eachplatformrequiresaspecificJVM,anddifferencesinJVMimpleme

Demystifying the JVM: Your Key to Understanding Java ExecutionDemystifying the JVM: Your Key to Understanding Java ExecutionMay 13, 2025 am 12:02 AM

TheJavaVirtualMachine(JVM)isanabstractcomputingmachinecrucialforJavaexecutionasitrunsJavabytecode,enablingthe"writeonce,runanywhere"capability.TheJVM'skeycomponentsinclude:1)ClassLoader,whichloads,links,andinitializesclasses;2)RuntimeDataAr

Is java still a good language based on new features?Is java still a good language based on new features?May 12, 2025 am 12:12 AM

Javaremainsagoodlanguageduetoitscontinuousevolutionandrobustecosystem.1)Lambdaexpressionsenhancecodereadabilityandenablefunctionalprogramming.2)Streamsallowforefficientdataprocessing,particularlywithlargedatasets.3)ThemodularsystemintroducedinJava9im

What Makes Java Great? Key Features and BenefitsWhat Makes Java Great? Key Features and BenefitsMay 12, 2025 am 12:11 AM

Javaisgreatduetoitsplatformindependence,robustOOPsupport,extensivelibraries,andstrongcommunity.1)PlatformindependenceviaJVMallowscodetorunonvariousplatforms.2)OOPfeatureslikeencapsulation,inheritance,andpolymorphismenablemodularandscalablecode.3)Rich

Top 5 Java Features: Examples and ExplanationsTop 5 Java Features: Examples and ExplanationsMay 12, 2025 am 12:09 AM

The five major features of Java are polymorphism, Lambda expressions, StreamsAPI, generics and exception handling. 1. Polymorphism allows objects of different classes to be used as objects of common base classes. 2. Lambda expressions make the code more concise, especially suitable for handling collections and streams. 3.StreamsAPI efficiently processes large data sets and supports declarative operations. 4. Generics provide type safety and reusability, and type errors are caught during compilation. 5. Exception handling helps handle errors elegantly and write reliable software.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor