如下代码的输出是( )。 public class Test { public static void main(String[] args) { Object o1 = new Object(); Object o2 = new Object(); System.out.print((o1 == o2) + " " + (o1.equals(o2))); } }
时间: 2023-03-03 18:03:24 浏览: 170
该代码的输出是 "false false"。
原因是在代码中,o1和o2是两个不同的Object对象,它们的地址不同,所以比较它们的引用时(o1 == o2)返回的是false。而在调用equals方法时,Object类默认的实现是比较对象的地址,因此也返回false。
相关问题
修改下面程序中的语法错误 abstract class Human{ String name = “Unknown”; } class Boy extends Human{ public Boy(String name){ super(name); } } 2. (简答题) 修改下面程序中的语法错误 class Doc{ String title = “Unknown”; } public class Test{ public static void main(String[] args){ Object doc = new Doc("Hello World"); System.out.println(doc.title); } }
1. 修正后的程序:
```
abstract class Human {
String name = "Unknown";
public Human(String name){
this.name = name;
}
}
class Boy extends Human {
public Boy(String name) {
super(name);
}
}
```
在 `Human` 类中添加了一个构造函数,用于初始化 `name` 属性。
2. 修正后的程序:
```
class Doc {
String title = "Unknown";
public Doc(String title) {
this.title = title;
}
}
public class Test {
public static void main(String[] args) {
Doc doc = new Doc("Hello World");
System.out.println(doc.title);
}
}
```
在 `Doc` 类中添加了一个构造函数,用于初始化 `title` 属性。同时,将 `Object` 类型的变量 `doc` 修改为 `Doc` 类型的变量,并且不需要调用 `title` 属性时再进行强制类型转换。
设计程序 public class Test { public static void main(String[] args){ Point p1=new Point(10,10); Point p2=p1.copy(); if(p1==p2) System.out.println("======="); if(p1.equals(p2)) System.out.println("++++++"); if(p1.equals(null)) System.out.println("******"); } }使输出结果为++++++
可以这样修改程序:
```
public class Test {
public static void main(String[] args){
Point p1 = new Point(10, 10);
Point p2 = p1.copy();
if(p1 == p2)
System.out.println("=======");
if(p1.equals(p2))
System.out.println("++++++");
if(p1.equals(null))
System.out.println("******");
}
}
class Point {
private int x;
private int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public Point copy() {
return new Point(this.x, this.y);
}
@Override
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof Point)) {
return false;
}
Point other = (Point) obj;
return this.x == other.x && this.y == other.y;
}
}
```
输出结果为:
```
++++++
```
阅读全文