Java 在实例化子类时从超类调用方法

Java 在实例化子类时从超类调用方法,java,c#,oop,inheritance,abstract-class,Java,C#,Oop,Inheritance,Abstract Class,如何创建一个类,无论哪个类扩展了类,都会自动调用方法。如果我的问题听起来有误导性,就编辑一下。我会展示一些样品 例1: 在unity中,当您扩展方法时,将自动调用。我不知道我是否正确 public class MyController : MonoBehaviour { void Start() { //Being Called Once } void FixedUpdate() { //Being Called e

如何创建一个
,无论哪个类扩展了
,都会自动调用方法。如果我的问题听起来有误导性,就编辑一下。我会展示一些样品

例1:

在unity中,当您扩展方法时,将自动调用。我不知道我是否正确

public class MyController : MonoBehaviour { 

   void Start()
    {     
      //Being Called Once
    }

    void FixedUpdate()
    {   
    //Being Called every update
}
关于libgdx

Game implements ApplicationListener {


    @Override
    public void render () {
        //Called multiple times
    }

}
正如我自己所理解并尝试实施的那样

public abstract Test{

        protected Test(){
            onStart();
        }


        public abstract void onStart();
}


public class Test2 extends Test{

    public Test2(){

    }

    @Override
    public void onStart(){
        //Handle things here
    }

}
我很抱歉,但我仍然不知道它是如何工作的,或者你称之为什么技术

特别是在unity中,当创建扩展了
单行为的多个控制器时,将调用所有已实现的控制器方法。谁在调用这些类和方法?一些关于这方面的参考书或书籍会很有帮助

注意:请编辑我的标题,以便在本文中使用正确的术语。谢谢

很抱歉,我还是不知道它是怎么工作的,或者你把它叫做什么

在您的
Java
示例中,
onStart
方法被称为钩子或回调方法

维基百科的定义如下:

在计算机编程中,挂钩一词涵盖了一系列技术,这些技术用于通过截获函数调用、消息或软件组件之间传递的事件来改变或增强操作系统、应用程序或其他软件组件的行为。处理此类截获函数调用、事件或消息的代码称为“钩子”

维基百科对a的定义如下:

在计算机编程中,回调是作为参数传递给其他代码的一段可执行代码,这些代码希望在方便的时候回调(执行)参数。调用可以像在同步回调中那样立即进行,也可以像在异步回调中那样在稍后的时间进行

Test
类实例化
Test
方法的任何类都将导致调用
实例的
onStart
方法。例如:

Test test = new Test2();//calls onStart in Test2.

话虽如此,我不确定是谁在
MonoiBehavior
的情况下调用这些方法,但您对如何在
Java
中实现
hook
回调的一般理解是正确的。

。所以这就是钩住了人。@Keropee在一般意义上是的。它也被称为
回调
。虽然它们有不同的含义,但现在可以互换使用。谢谢@Chetan Kinger,这对我应该从哪里开始学习有很大帮助。我会找到办法的。@Keropee请记住,你并不总是在构造函数中调用你的
hooks
。如果不希望在创建实例时立即触发这些钩子,那么这些钩子也可能在具体方法中调用。确定。谢谢你的提示