If we want to get the currently running class name, how to get it?
In the Class class, there is the following method:
For example, there is now a class Demo7.java
package pxx.test1; public class Demo7 { public static void main(String[] args) { Demo7 demo7 = new Demo7(); System.out.println(demo7.getClass().getName()); } }
Run result:
The above is directly calling getClass() on this object to get the Class object, and then calling getName () Get the running class name.
So if a class inherits a class, how to get the current class name and the parent class name
Demo8.java
package pxx.test1; public class Demo8 { int num; String name; public Demo8(){}; }
Demo9.java
package pxx.test1; public class Demo9 extends Demo8 { public void test() { System.out.println(super.getClass().getName()); } public static void main(String[] args) { new Demo9().test(); } }
Above we used super to call a getClass() method, and then get the class name. What needs to be noted here is that super can only call non-static methods of the parent class. , and cannot be called in a static method, because super, like this, is based on object operations. Speaking of which, getClass() of the parent class is called here, so I want to get the class name of the parent class. Well, after running
, I still can’t get the class name of the parent class. , then let’s take a look at the geClass() method. This method is in the Object object.
It turns out that this method is final, that is to say, this method is inherited by other classes. Yes, but it cannot be overridden. Therefore, this.getClass and super.getClass ultimately call the getClass method in the Object class, and the definition of this method is to return the runtime class of Object, so the above will return its own class. name instead of the parent class name.
So how to get the name of the parent class?
Let’s go to the Class class to take a look and find the following method:
The above means, Will return the parent class of the current calling class. After getting the parent class, we can still use getName() to get the name. The above code
package pxx.test1; public class Demo9 extends Demo8 { public void test() { System.out.println(super.getClass().getSuperclass().getName()); } public static void main(String[] args) { new Demo9().test(); } }
Running results:
In this way, we get the class name of the parent class
The above is the detailed content of How to get the class name in java. For more information, please follow other related articles on the PHP Chinese website!

Cloud computing significantly improves Java's platform independence. 1) Java code is compiled into bytecode and executed by the JVM on different operating systems to ensure cross-platform operation. 2) Use Docker and Kubernetes to deploy Java applications to improve portability and scalability.

Java'splatformindependenceallowsdeveloperstowritecodeonceandrunitonanydeviceorOSwithaJVM.Thisisachievedthroughcompilingtobytecode,whichtheJVMinterpretsorcompilesatruntime.ThisfeaturehassignificantlyboostedJava'sadoptionduetocross-platformdeployment,s

Containerization technologies such as Docker enhance rather than replace Java's platform independence. 1) Ensure consistency across environments, 2) Manage dependencies, including specific JVM versions, 3) Simplify the deployment process to make Java applications more adaptable and manageable.

JRE is the environment in which Java applications run, and its function is to enable Java programs to run on different operating systems without recompiling. The working principle of JRE includes JVM executing bytecode, class library provides predefined classes and methods, configuration files and resource files to set up the running environment.

JVM ensures efficient Java programs run through automatic memory management and garbage collection. 1) Memory allocation: Allocate memory in the heap for new objects. 2) Reference count: Track object references and detect garbage. 3) Garbage recycling: Use the tag-clear, tag-tidy or copy algorithm to recycle objects that are no longer referenced.

Start Spring using IntelliJIDEAUltimate version...

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

Java...


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

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

WebStorm Mac version
Useful JavaScript development tools

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.

Notepad++7.3.1
Easy-to-use and free code editor