构造函数

java – 多态和构造函数

我是一名APJava学生,我正在考试.我遇到这个问题,我不明白答案:考虑以下类:执行以下代码时的输出是什么?解决方法调用B构造函数.B构造函数的第一个隐式指令是super().所以A的构造函数被调用.A的构造函数调用super(),它调用不打印任何东西的java.lang.Object构造函数.然后调用methodone().由于对象是类型B,所以调用B的methodone版本,并打印B.然后B构造函数继续执行,*被打印.必须注意的是,从构造函数调用可覆盖的方法是非常糟糕的做法:它调用一个尚未构造的对象的

java – 结合番石榴的ImmutableList和varargs

我想要创建构造函数,它将使用一个或多个整数,并将其保存为字段为ImmutableList.根据Bloch的第42项“正确的方式使用varargs传递一个或多个参数”,我创建了smt为什么构建器不能自动获取通用而且,它闻起来.怎么可以重写?add方法有一个varargs版本.

从类名称动态地创建一个Java对象,并通过使用列表与数据来设置类字段

不,不会工作.如果您不能保证您的课程将提供一个构建器,可以设置您的示例TempStruct所有的所有字段,那么我会称之为一天,并获取啤酒,因为这种方式是DOA.一旦找到构造函数,循环遍历Stringargs,将它们转换为构造函数预期的类型.假设工作,我们然后通过反射调用构造函数,挥动魔术棒并说abracadabra.Voilà:你有一个新的对象.让我们尝试一个非常有创意的例子:输出:辉煌

java – 私有内部类的构造函数是否应该被声明为public或private?

解决方法从另一个类访问私有成员稍微复杂一点,因为JVM实际上不允许这样做.因此,编译器会注入访问器方法,使其稍慢或堆栈跟踪更复杂.因为这些原因,我把它当作包裹本地.BTW抽象类的构造函数也不需要是公共的.它也可以被保护或包装在本地打印一个额外的堆栈跟踪元素.使构造函数包本地化,第二个消息.