package com.yonge.objectEquals;
/**
* 目的:1、测试匿名构造方法的使用及作用域 2、对象的比较
* @author wb-gaoy
* @version $Id: Test.java,v 0.1 2012-1-10 下午12:04:42 wb-gaoy Exp $
*/
public class Test {
private String str;
/** 默认构造方法 */
public Test() {
System.out.println("默认构造方法被调用!!");
}
/** 带两个String参数的构造方法 */
public Test(String arg0, String arg1) {
System.out.println("带参数的构造方法!");
this.str = arg0 + arg1;
if (str == (arg0 + arg1)) {
System.out.println("str[" + this.str + "]与arg0+arg1[" + arg0 + arg1 + "]相等!!");
} else {
System.out.println("str[" + this.str + "]与arg0+arg1[" + arg0 + arg1 + "]不相等!!");
}
}
/** 匿名构造方法:每次实例化对象的时候,首先会调用此块 */
{
System.out.println("匿名构造方法被调用!");
}
/**
* @param args
*/
public static void main(String[] args) {
Test test = new Test();
Test test1 = new Test("1", "");
String arg0 = "1", arg1 = "1";
if (arg0 == arg1) {
System.out.println("arg0[" + arg0 + "]与arg1[" + arg1 + "]对象相等!!");
} else {
System.out.println("arg0[" + arg0 + "]与arg1[" + arg1 + "]对象相等!!");
}
//给arg0重新赋值
arg0 = "1" + "";
System.out.println("给arg0重新赋值为:" + arg0);
if (arg0 == arg1) {
System.out.println("arg0[" + arg0 + "]与arg1[" + arg1 + "]对象相等!!");
} else {
System.out.println("arg0[" + arg0 + "]与arg1[" + arg1 + "]对象相等!!");
}
if ("1" + "" == arg1) {
System.out.println("arg0[\"1\" + \"\"]与arg1[" + arg1 + "]对象相等!!");
} else {
System.out.println("arg0[" + arg0 + "]与arg1[" + arg1 + "]对象相等!!");
}
//给arg0重新赋值
arg0 = new String("1");//改成arg0 = new String("2")试试
System.out.println("给arg0第二次重新赋值为:" + arg0);
if (arg0 == arg1) {
System.out.println("arg0[" + arg0 + "]与arg1[" + arg1 + "]对象相等!!");
} else {
System.out.println("arg0[" + arg0 + "]与arg1[" + arg1 + "]对象相等!!");
}
if (new String("1") == "1") {
System.out.println("对象相等");
} else {
System.out.println("对象不相等");
}
}
}
分享到:
相关推荐
在Java编程语言中,构造方法和匿名对象是两个非常重要的概念,它们对于理解和创建对象起着关键作用。本文将深入探讨这两个主题,并结合实例进行详细解释。 首先,我们来看构造方法。构造方法是一种特殊的方法,它与...
[笔记]05构造方法 匿名对象
1. 默认构造方法:如果一个类没有显式定义任何构造方法,Java编译器会提供一个无参的默认构造方法,以供创建对象时使用。 2. 自定义构造方法:如果需要对对象的属性进行特定的初始化,可以自定义构造方法,并在其中...
NULL 博文链接:https://chaoyi.iteye.com/blog/2077261
本篇将主要讨论如何构造内部类对象以及如何通过反射来访问它们。 首先,我们来看一个简单的内部类示例: ```java package javalang; public class Outer { public static class Inner1 { // ... } } ``` 在这...
通过这个视频可以简单的学习JAVA基础程序设计,学习JAVA构造方法与匿名对象,简单的JAVA程序编写,JAVA免费程序学习
本节主要讲解了面向对象的两个核心概念:封装和构造方法。 首先,我们来深入理解一下成员变量和局部变量的区别: 成员变量,也称为类变量,是在类定义中声明的变量。它们在整个类的范围内都是有效的,这意味着类的...
Java是一种广泛使用的面向对象的编程语言,其核心概念包括类与对象、封装和构造方法。在Java中,类是创建对象的蓝图,而对象则是程序中的实体,它们代表了现实世界中的具体事物或抽象概念。封装是面向对象编程的一个...
java课程学习资料 若有侵权,请联系本人进行移除。
Java面向对象编程是Java语言的核心特性...以上是Java面向对象编程中的基础知识点,包括对象、类、封装、构造方法、匿名对象、String类的特性和使用,以及`this`关键字的应用。理解并掌握这些概念是进行Java开发的基础。
6. **equals()和==**:在比较对象时,`equals()`方法会检查对象的内容是否相等,而`==`则检查引用是否指向同一个对象。对于向上转型的对象,`equals()`方法会根据重写的情况来判断,而`==`始终比较引用。 7. **匿名...
为了提高代码的可读性,应使用适当的注释来解释类和对象的用途、方法的功能以及可能的使用场景。 总的来说,Perl的面向对象编程提供了强大的工具来组织和复用代码,同时也允许开发者根据需求灵活地设计类和对象。...
在Java编程语言中,匿名类是一种特殊的类,它...总的来说,Java的匿名类是一种强大的工具,可以用于快速创建和使用对象,尤其在处理简短的、一次性使用的类实现时。理解并熟练运用匿名类,能够提升代码的简洁性和效率。
接下来,我们将重点探讨如何构建jQuery对象以及其内部的一些关键设计。 #### 二、构建jQuery对象 在构造jQuery对象的过程中,主要依赖于`jQuery.fn.init`方法。我们首先看下`jQuery`函数本身是如何定义的: ```...
- `this`关键字在Java中代表当前对象的引用,常用于区分成员变量和局部变量,以及在构造方法中调用其他构造方法。 **方法的数据类型传递**: - Java中的方法调用可以传值或传引用。基本类型数据是按值传递,而对象...
C#支持构造函数初始化,字段初始化器以及对象初始化语法,使得我们可以方便地在对象创建时设置属性值。 在.NET For Net压缩包中,可能包含了关于这些概念的示例代码、教程或者练习,帮助你更深入地理解和掌握这些...
Kotlin不仅支持面向对象编程,还支持函数式编程,而它提供的“object”关键字,是一个功能强大的语法元素,它使得开发人员可以在Kotlin中以简洁的方式实现单例模式、数据包装以及匿名内部类的功能。 首先,我们需要...
内容包括三章:1、构造方法与匿名对象;2、实例讲解—类设计分析(学生类);3、String类。
#### 五、构造方法与匿名对象 - **构造方法**:构造方法用于初始化对象的状态,其名称必须与类名相同,没有返回类型,通过`new`关键字调用。构造方法可以重载以适应不同的初始化需求。 - **匿名对象**:没有明确给...
构造方法用于初始化对象的状态。一个类可以有多个构造方法,但每个构造方法都必须满足以下条件: - 方法名必须与类名相同。 - 不需要指定返回类型。 - 通常不包含`return`语句。 构造方法可以重载,即同一个类中...