在Java中,所有类的基类都是Object,作为JDK源码分析的第一课,今天给一道题来测试下大家对基础的掌握,让大家知道理解JDK源码的重要性。
class Person{
private String name;
private int age;
public Person(String name, int age){
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class Equals {
public static void main(String args[]){
Person p1=new Person("aaa",27);
Person p2=new Person("aaa",27);
System.out.println("p1==p2 ==>"+ (p1 == p2 ? true: false));
System.out.println("p1.eqauls(p2) ==>"+ (p1.equals(p2) ? true: false));
}
}
上面的答案是什么呢? false, true,还是true,true,还是false,false呢?后面会解析这个程序的结果。可以说说你们的见解,请不要运行这个程序!
分享到:
相关推荐
本文档名为《JAVA第一阶段测试题及答案.docx》,旨在帮助读者通过测试题目加深对Java基础知识的理解,涵盖了变量、数据类型、方法、构造方法、继承以及多态等核心概念。 首先,Java中的变量是程序中数据的存储单位...
这些面试题通常用于测试开发者对Java基础知识的掌握程度。理解JDK与JRE的区别可以帮助开发者理解开发环境和运行环境的不同需求,而`==`和`equals`的使用则涉及到对Java内存模型的理解,这是编写正确、健壮的Java代码...
根据给定的文件信息,以下是对“java的基础测试题(带答案)”中涉及的关键知识点进行的详细解析: ### 1. Java中的Map接口及其实现类 在Java中,`Map`接口是一个用于存储键值对数据结构的接口。题目中提到的`put...
《Java测试题2》 <br>一、 选择 1.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ? B A ArrayList myList=new Object(); B List myList=new ArrayList(); C ...
1. **Object类**:Java中的所有类都直接或间接地继承自Object类,它提供了对所有对象共有的行为,比如`equals()`、`hashCode()`和`toString()`等方法。 2. **对象的创建**:在Java中,通过`new`关键字和构造方法来...
总结一下,Java中的Set接口确保了元素的唯一性,通过重写equals()和hashCode()方法,我们可以自定义元素的比较规则,例如在本例中基于学号判断学生对象的重复。此外,题目还涉及到了异常处理,创建自定义的编译异常...
8. **Object类**:在Java中,所有类都隐式地继承自`Object`类,它是所有类的顶级父类,提供了通用的方法如`toString()`、`equals()`等。 9. **八进制数**:在Java中,以`0`开头的数字表示八进制数。例如,`026`是八...
- `Object`类提供了诸如`equals()`、`getClass()`和`toString()`等方法。 - `trim()`方法不是`Object`类的一部分,它属于`String`类。 5. **super的使用**: - 在子类的构造器中,`super()`用于调用父类的无参...
`Object`类提供了诸如`toString()`、`equals()`和`hashCode()`等基本方法。`toString()`方法将对象转换为字符串表示,这对于打印或日志记录非常有用。它可以被覆盖以提供自定义的字符串表示。 在Java中,包...
### Java面试测试题目知识点梳理 #### 1. int和Integer有什么区别? - **int**: 是Java的基本数据类型之一,用于存储整数值。占用4个字节的空间,取值范围为-2^31到2^31-1。 - **Integer**: 是int的包装类,实现了...
在Java考试中,常见的题型包括判断题、选择题、程序填空和程序编写等,这些题目旨在测试考生对Java语法、类库、内存管理、多线程以及异常处理等方面的理解。 1. 在Java Applet程序中,Applet子类通常需要重写`paint...
- **finalize**:这是`Object`类的一个方法,当垃圾回收器准备释放一个对象时,这个方法会被调用。但现代Java版本中已不推荐使用此方法进行资源回收。 ### 3. Java集合框架——List - **List接口**:`List`是Java...
Java测试题涵盖了许多核心的Java概念,这对于学习者或专业人士来说是提升技能的良好资源。以下是对部分题目涉及知识点的详细解释: 1. **多态**:多态是面向对象编程中的一个重要特性,它允许我们使用一个接口来...
以下是对一些常见的Java基础面试题的详细解答: 1. 静态变量与实例变量的区别: 静态变量是类级别的,它在内存中只有一个拷贝,所有类的实例共享同一个静态变量的值。而实例变量是每个对象独有的,每创建一个实例...
- 对于`Integer`等包装类对象的比较,`equals()`方法用于值的比较,而`==`运算符检查引用是否相等。 - 字符串常量池的优化,如示例中的`s`和`t`字符串,由于它们都是字面量且值相同,会被存储在同一个内存位置,因此...
- `equals(Object obj)`:测试该对象是否等于指定的对象。 - `hashCode()`:返回对象的哈希码值。 - `getClass()`:返回对象的类。 - `clone()`:创建并返回该对象的一个副本。 - `notify()` 和 `notifyAll()`...
wait()是Object类的方法,使线程等待,会释放锁,通常用于线程间通信。 【Overload与Override】 Overload(重载)是方法名相同,参数列表不同的现象,允许返回类型不同。Override(重写)是子类方法覆盖父类方法,...
在Java编程语言中,面试题通常涵盖了许多核心概念和技术,以评估候选人的理解和技能。以下是一些基于给定文件中的内容的关键知识点: 1. **JDK与JRE的区别**: - JDK(Java Development Kit)是Java开发工具包,...
如果`MyObject`类没有正确覆盖`equals()`方法,那么`contains()`可能会给出错误的结果,即使列表中存在相同的元素,也可能无法找到。 选项C的`hashCode()`方法对于`HashSet`或`HashMap`等基于散列的集合来说非常...