这是我无法完成的考试问题。
如何通过仅在MyClass构造函数中编辑代码来获取以下Java代码以打印false?
public class MyClass{
public MyClass(){
}
public static void main(String[] args) {
MyClass m = new MyClass();
System.out.println(m.equals(m));
}
}
不允许您覆盖equals方法或更改main方法中的任何代码。该代码必须在程序不崩溃的情况下运行。
根据我的研究,实例化类时不能将Java对象引用设置为null。所以我正式陷入了困境。
太难了!
public MyClass() {
System.setOut(new PrintStream(new FilterOutputStream(System.out) {
@Override
public void write(byte[] b, int off, int len) throws IOException {
if(new String(b).contains("true")) {
byte[] text = "false".getBytes();
super.write(text, 0, text.length);
}
else {
super.write(b, off, len);
}
}
}, true));
}
或Paul Boddington的简化版本:
PrintStream p = System.out;
System.setOut(new PrintStream(p) {
@Override
public void println(boolean b) {
p.println(false);
}
});
或是AJ Neufeld的更简单建议:
System.setOut(new PrintStream(System.out) {
@Override
public void println(boolean b) {
super.println(false);
}
});
这是一道我无法完成的试题。 如何仅通过编辑MyClass构造函数中的代码来让下面的java代码打印false? 不允许重写equals方法,也不允许更改main方法中的任何代码。代码必须在程序不崩溃的情况下运行。 根据我的研究,在实例化类时,不能将Java对象引用设置为null。所以我正式被难倒了。
类 类是对某一事物的抽象描述,具体地讲,类是C++中的一种构造的数据类型。它即可包含描述事物的数据,又可包含处理这些数据的函数,类在程序运行时是被用作样板来建立对象的。所以要建立对象,首先必须定义类。 定义类 定义一个类的一般格式为: class 类名{ private: 成员表1; public: 成员表2; protected:
在hibernate的xml方法中,创建hibernate SessionFactory对象时使用
问题内容: 我有这样的事情: 如您所见,超类的init方法是抽象的,并在创建对象后由构造函数自动调用。 当我需要创建这种类型的对象且其结构不会及时更改时,我很好奇我是否会遇到这样的代码问题。 有什么更好的办法吗?它可以在Java中运行,但是可以在C ++和ActionScript中运行吗? 谢谢你的答案。 问题答案: 请勿从构造函数中调用过多的方法。 引用 有效Java 2nd Edition,条
生成类对象时,其成员可以用类的构造函数初始化。构造函数是与类同名的成员函数。程序员提供的构造函数在每次生成类对象(实例化)时自动调用。构造函数可以重载.提供初始化类对象的不同方法。数据成员应在类的构造函数中初始化或在生成对象之后设置其数值。 常见编程错误 6.7 类的数据成员只能在类定义中初始化。 常见编程错误 6.8 试图声明构造函数的返回类型和返回植是个语法错误。 编程技巧 6.5 适当时候(
问题内容: 给出以下代码: 我的IDE没有给我任何错误。也就是说,直到我尝试构建项目并运行它。当我这样做时,它给了我一个看起来像这样的编译器错误: 现在,我得到了错误消息,如果foo()是静态的,则不会发生这种情况。没错,这仅在foo()是实例方法的情况下才会发生。并且仅当LocalFoo是实例方法中的本地类时才发生,并且仅当使用构造函数引用时(即从不使用常规方法引用)才发生。 更重要的是,如果我