我有一个这样的课:
public class BaseClass
{
public BaseClass(URL url, String something, String whatever)
{
// Do some stuff with URL, something and whatever
}
public List ImportantFunction()
{
// Some important stuff here
}
}
Run Code Online (Sandbox Code Playgroud)
我想使用这个类,但是我想在构造函数中做不同的东西.构造函数所做的事情我需要以不同的方式完成它们.但我想使用其他类方法的所有功能.
我认为最简单的方法是扩展课程.但是,当我这样做时,构造函数要求我调用父构造函数:
super(url, something, whatever);
Run Code Online (Sandbox Code Playgroud)
是否可以扩展基类但具有完全不同的构造函数?我不希望BaseClass完全调用构造函数...
您必须调用超类的构造函数.如果没有显式调用,Java将尝试自动调用无参数构造函数; 如果不存在,则会出现编译错误.您调用的构造函数不需要与传递给子类的构造函数的参数相对应.
这是强制性的 - 对象的成员变量可以在构造函数中初始化,而不调用其中一个可能会违反超类的内部假设.
没有办法解决使用JNI破坏JVM的问题.
| 归档时间: |
|
| 查看次数: |
2711 次 |
| 最近记录: |