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 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
- 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?
- When we use new to When instantiating an object, the constructor will be automatically called to complete the initialization operation
- Create the constructor
- 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);
So you can actually see that which construction method is called depends on the parameters passed in new
Note:
- this
- The role of thisIn 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!

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

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

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.

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

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

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

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

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.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

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
Recommended: Win version, supports code prompts!

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
Visual web development tools

Atom editor mac version download
The most popular open source editor
