我现在正准备面试,有一个问题让我很困惑。人们说,在java构造函数中不能继承,但是这样的代码
public class childclass extends parentclass{
public childclass(){
super();
System.out.println("child");
}
public static void main(String[] args) {
childclass cc = new childclass();
}}
super()不意味着子类继承了父类的构造函数吗?
我现在有一个这样的清单:
List<Parent> parentList = new Arraylist<>;
//Code inserts elements of subclassA and subclass B into parentList above
现在,我想从类型为A的parentList中提取元素。我想做以下工作,但没有错误:
List<SubclassA> extractMe = new Arraylist<>;
for (Parent parent: parentList){
if (parent.isSubclassA
是否必须从子类构造函数中的构造函数中调用父构造函数?
要解释,请考虑以下示例:
class Parent{
function __construct(){
//something is done here.
}
}
class Child extends Parent{
function __construct(){
parent::__construct();
//do something here.
}
}
这样做是很正常的。但是,请考虑类Child的下列构造函数:
function __constr
我试图调用一个方法,比如XSL样式表中的getFullName()。该方法属于Person类,它是Student的一个超类。我在XSL样式表命名空间中定义了Student类,如下所示:xmlns:std="java:example.code.Student"。但是,在运行时,我得到以下两个错误:ClassNotFoundException和NoClassDefFoundError for example.code.abstract.Person。似乎在运行时Person的类定义不可用吗?Student对象不应该访问它的父方法吗?
异常堆栈.
Exception in thread "main" java.lang.ClassCircularityError:
plugins/agents/Agent
at java.lang.Class.getDeclaringClass(Native Method)
at java.lang.Class.getEnclosingClass(Class.java:1085)
at java.lang.Class.getCanonicalName(Class.java:1169)
at agents.loa
我在Scala中创建了Guava的Serializable版本的ImmutableRangeMap和Builder,以便在我的Spark应用程序中使用。我的SerializableImmutableRangeMap中也有一个零参数构造函数,所以当我运行Spark应用程序时,为什么要获得InvalidClassException: no valid constructor呢?
下面是我的SerializableImmutableRangeClass对象和类:
object SerializableImmutableRangeMap extends Serializable {
final c
没有给出正确的答案。下面是java代码。
父级类
public class Parent {
void display() {
// some code
}
}
儿童课程
public class child extends Parent
void display(int a) {
// some code
}
}
问题:这个方法是重载、重写还是不重载?
当我运行下面的程序时,我得到了异常,因为
java.io.InvalidClassException: Files.SerializationMain; Files.SerializationMain; no valid constructor
at java.io.ObjectStreamClass.checkDeserialize(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject
在Java程序中,我有多个子类继承自一个父类(这是抽象的)。我想表达的是,每个孩子都应该有一个只设置一次的成员(我正计划从构造函数中这样做)。我的计划是编写s.th代码。如下所示:
public abstract class Parent {
protected final String birthmark;
}
public class Child extends Parent {
public Child(String s) {
this.birthmark = s;
}
}
然而,这似乎并不能取悦Java之神。在父类中,我得到消息birthmar
我发现以下代码可以编译:
class Ideone
{
public static void main (String[] args){
new Ideone().m();
}
final private void m(){
System.out.println("private final method");
}
class A extends Ideone{
public void method(String [] args){
m();
我用java导出了一个类。我注意到在执行派生类构造函数中的代码之前调用超类构造函数。有什么方法可以逆转这个顺序吗?
示例:
class Animal
{
public Animal()
{
//do stuff
}
}
class Cat extends Animal
{
int var;
public Cat(int v)
{
var = v;
super();
}
}
这就是我想要做的,但是像这样调用超级()会产生一个错误.
我使用的是Java7和Hibernate 3.6.10.Final。下面的代码使用了JPA注释。
我正在重构一个类,把它的id从int改成long。有大量的引用和复杂的超类层次结构,不可能一下子解决。因此,我创建了一个临时的getLongId方法,并弃用了现有的getId方法,以便客户端可以进行转换。
这是我的父类
public class Parent{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "PK_id")
public int getId() {
以下是我的ProtectedConstructor.java源代码:
package protectCon;
public class ProtectedConstructor{
public int nothing;
ProtectedConstructor(){
nothing = 0;
}
}
下面是UsingProtectedCon.java的源代码:
package other;
import protectcon.ProtectedConstructor;
public class UsingProtectedCon extends P
对象的克隆方法是受保护的,因此它可以在子类(A类)中被访问,那么为什么我在java.lang.Object编译器错误中得到了‘克隆()有受保护的访问?我想,所有的Java类都是对象的子类。提前谢谢。
下面的代码引发编译器错误:
public class A {
public static void main(String[] args) {
Object o = new Object();
o.clone();//error
}
}
但是这个版本编译得很好,它们不是有相同的语义吗?
public class A {
protected v
我最近一直在从事一个处理项目,并希望将其引入Eclipse (以便与另一个用Java编写的类一起使用)。这个项目基本上是一个比赛模拟,我有一个包含main(),setup()和draw()的TheRace类,一个包含迭代比赛本身的所有代码的race类,一个Racer类,以及三个扩展Racer的不同类(不同类型的Racer)。我已经导入了core.jar文件,并且没有语法错误(代码可以编译),但是当我运行代码时,我得到了这个错误:
Exception in thread "Animation Thread" java.lang.NullPointerException
at pr
我知道在stackoverflow中有很多文章/问题描述了Java中的向上转换和向下转换。我知道什么是向上和向下。但我的问题并不具体到这一点。
向上转换-从子对象到父对象的转换-编译器负责处理。不需要强制转换
向下转换-从父级到子级的转换-需要显式转换
public class Animal {
public void getAnimalName(){
System.out.println("Parent Animal");
}
}
public class Dog extends Animal{
public void getDog
我有两个java对象(假设父对象和Child..child扩展父对象).But,我只需要为父对象而不是为其子对象指定规则触发。
例如:
when
$raw : Parent()
then
System.out.println(" Parent")
end
----
when
$raw : Child()
then
System.out.println(" Child")
end
如果我试图将子对象作为一个事实注入,那么这两个对象都会触发。我不能使用not () bz我有很多child.Thanks
向你问好,尼波娜。
我是一个Java的初学者,我正在使用一些Java代码。然而,当我将一个父类对象的引用赋值给一个子类变量时,我无法理清为什么会出现运行时错误。我也做过显式类型转换。有没有可能解决这个问题?
class Employee{
int e;//creating empty class
}
class Teacher extends Employee{
int f;//creating empty class
}
class run{
public static void main(String args[]){
Employee e;
e=