在Java中,判断一个方法是否被覆盖,可以通过使用反射和注解来实现。
首先,在父类中声明一个注解,比如@Override,表示该方法是可以被覆盖的。在子类中重写该方法时,编译器会自动添加该注解。
然后,在运行时,可以使用反射来检查该方法是否被注解了@Override。如果有,则说明该方法已被覆盖。
class Parent {
@Override
public void method() {
System.out.println("Parent class");
class Child extends Parent {
@Override
public void method() {
System.out.println("Child class");
public class Main {
public static void main(String[] args) throws Exception {
Child obj = new Child();
Method method = obj.getClass().getMethod("method");
if (method.isAnnotationPresent(Override.class)) {
System.out.println("method is overriden");
} else {
System.out.println("method is not overriden");
method is overriden
java小瓜哥
在JVM中程序寄存器、Java虚拟机栈、本地方法栈,这三个区是随着线程的创建而创建,随着线程结束而销毁。其实就是这三个的生命周期和线程的生命周期一样。都是每个线程私有的。每次方法的调用就会向栈里入栈一
-
fuzc93222
Android
-
beordie
LeetCode
-
Carson带你学Android
Android
-
chuck
JavaScript