java 父构造器中调用子类重写的方法
2014-02-13 15:48
239 查看
class Base
{
public Base()
{
test();
}
public void test()
{
System.out.println("111");
}
}
public class Sub extends Base
{
private String name;
public void test()
{
System.out.println(name.length());
}
public static void main(String arg[])
{
Sub s = new Sub();
}
}
先调用base的构造函数,然后调用Sub的test的时候,name是空指针,异常。
java初始化顺序:
父类静态初始化块->子类静态初始化块.....->父类初始化块->父类构造器->子类初始化块->子类构造器........->父类初始化块->父类构造器->子类初始化块->子类构造器........
{
public Base()
{
test();
}
public void test()
{
System.out.println("111");
}
}
public class Sub extends Base
{
private String name;
public void test()
{
System.out.println(name.length());
}
public static void main(String arg[])
{
Sub s = new Sub();
}
}
先调用base的构造函数,然后调用Sub的test的时候,name是空指针,异常。
java初始化顺序:
父类静态初始化块->子类静态初始化块.....->父类初始化块->父类构造器->子类初始化块->子类构造器........->父类初始化块->父类构造器->子类初始化块->子类构造器........
相关文章推荐
- Java调用子类重写方法
- Java__子类中调用父类重写的方法。
- java 通过子类怎么调用父类已经被重写的方法
- java 实例化是调用了子类重写方法
- Java 子类未重写的方法调用父类还是子类的问题
- Java父类对象调用子类实体:方法重写与动态调用
- Java中不要在父类的构造方法中调用会被子类重写的方法
- java方法重写的时候,一个调用父类还是子类方法的问题
- Java 父类构造函数中调用子类重写的方法
- Java父类对象调用子类实体:方法重写与动态调用
- java基础:父类与子类之间变量和方法的调用
- Java 构造器 一道构造器调用子类重载方法的题目
- Java基础重温(六)子类与父类实例方法、静态方法的重写问题
- JAVA调用重写的祖父方法
- Java中子类与父类的构造方法的调用关系
- java在第三方类中子类调用父类方法
- Java中父类和子类中的方法调用和参数传递总结
- java 子类重写父类的方法的注意事项
- Java父类调用被子类重写的方法
- 在子类的override方法中调用父类的父类的未被重写的方法