您的位置:首页 > 编程语言 > Java开发

Java子类,父类方法调用时序

2015-10-14 10:34 531 查看
初学JAVA时总是搞不懂子类继承父类时方法调用的时序.今天又碰到这个问题打了简单的Log看出了其调用的时序.

public class class1 extends class2{
public void class1Method(){
method1();
}

@Override
public void method2() {
//super.method2();
Log.e("du","class1---->>>method2");
}
}
public class class2 {

public void method1(){
Log.e("du","class2 ----method1");
method2();
}

public void method2(){
Log.e("du","class2 ----method2");
method3();
}

public void method3(){
Log.e("du","class2 ----method3");
}
}
没有super.methord2(),时父类methord1()调用的是子类的method2()方法.

10-14 10:31:14.123 1892-1892/com.android.library E/du﹕ class2 ----methord1

10-14 10:31:14.123 1892-1892/com.android.library E/du﹕ class1---->>>methord2

加上super.methord2()时,父类methord1()先将自己的method2方法走完再将子类的method2方法走完.

10-14 10:31:14.123 1892-1892/com.android.library E/du﹕ class2 ----methord1

10-14 10:31:14.123 1892-1892/com.android.library E/du﹕ class2 ----methord2

10-14 10:31:14.123 1892-1892/com.android.library E/du﹕ class2 ----methord3

10-14 10:31:14.123 1892-1892/com.android.library E/du﹕ class1---->>>methord2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: