Java编程中对象的创建与使用以及方法的重构与重载的区别说明

### Java编程中对象的创建与使用以及方法的重构与重载的区别说明 #### 对象的创建与使用 在Java编程语言中,一切皆基于对象。理解如何创建对象以及如何使用对象是学习Java的基础。 ##### 1. 对象的创建过程 创建一个对象包括三个主要步骤:对象的说明、对象的实例化和对象的初始化。 - **对象的说明**:声明对象,即告诉编译器我们想要创建的对象是什么类型。 - **对象的实例化**:使用`new`关键字为对象分配内存空间。 - **对象的初始化**:通过构造方法初始化对象的状态。 示例代码: ```java Point p1 = new Point(10, 20); ``` 在这个例子中,“Point”是一个类,“p1”是一个变量,“new”是一个关键字,“Point(10, 20)”是构造方法。这一行代码执行了以下三个操作: 1. 声明了一个名为`p1`的`Point`类的对象。 2. 使用`new`关键字实例化了一个`Point`类的对象。 3. 调用了`Point`类的构造方法来初始化这个对象。 ##### 2. 对象的说明 对象说明即定义一个类的对象,语法形式如下: ```java 类名 对象名; ``` 这里,“类名”指的是定义好的类,而“对象名”是我们给对象起的名字。例如: ```java Point p1; ``` 这行代码声明了一个`Point`类的对象`p1`。 ##### 3. 对象的实例化和初始化 对象的实例化是为对象分配内存空间的过程,通过`new`关键字实现。初始化则是设置对象的初始状态,通常通过构造方法完成。语法形式如下: ```java 对象名 = new 类构造方法名([实参列表]); ``` 示例: ```java Point p1 = new Point(10, 20); ``` 这里,`new Point(10, 20)`完成了对象的实例化和初始化。 ##### 4. 访问对象的成员变量及方法 创建对象后,可以通过对象名访问其成员变量和方法: ```java 对象名.成员变量 对象名.方法 ``` 示例: ```java Person p1 = new Person("张三", "男", 20); System.out.println("name=" + p1.name + "\tsex=" + p1.sex + "\tage=" + p1.age); p1.Show(); ``` 这段代码首先创建了一个`Person`类的对象`p1`,然后访问了对象的成员变量并调用了对象的方法。 #### 方法的重构与重载 方法的重构与重载是Java中的重要概念,用于实现多态性。 ##### 1. 方法的重构(Overriding) 重构(也称为覆盖)是指子类中的方法覆盖了父类中的方法。当一个子类方法与父类中的方法具有相同的名称和参数列表时,会发生重构。这意味着当子类的对象调用该方法时,将调用子类中定义的方法,而不是父类中的方法。 重构的规则包括但不限于: - 子类方法的返回类型必须与父类方法的返回类型相同。 - 子类不能重构父类的`final`和`private`方法。 - 子类不能用实例方法重构父类的`static`方法。 示例: ```java class Father { void speak() { System.out.println("I am Father!"); } } public class Overriding extends Father { @Override void speak() { System.out.println("I am Overriding!"); } } ``` 在这个例子中,`Overriding`类重构了`Father`类的`speak()`方法。 ##### 2. 方法的重载(Overloading) 重载是指在同一个类中定义多个同名的方法,但这些方法具有不同的参数列表。Java会根据传入的参数类型和数量自动选择合适的方法。 重载的规则包括: - 方法名必须相同。 - 参数列表必须不同(类型、数量或顺序不同)。 示例: ```java public class Example { public void display(int a) { System.out.println("Display int: " + a); } public void display(String s) { System.out.println("Display String: " + s); } } ``` 在这个例子中,`Example`类中有两个名为`display`的方法,但参数列表不同。 总结起来,对象的创建与使用是Java编程的基础,而方法的重构与重载则是实现多态性的关键手段。理解这两者的区别和应用对于掌握Java编程至关重要。


























- zww1366882013-06-25很好讲的很细致、、、

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- XW万能铣床电控系统的PLC设计[].doc
- 基于Laravel54与Vuejs构建的本地文档全文搜索引擎系统-集成Elasticsearch551实现高效索引与检索-支持用户笔记与开发文档的智能搜索与管理-采用PHP.zip
- 某类国防工程信息化管理系统项目需求及方案设计.docx
- 图像灰度变化程序设计.doc
- 操作系统处理器调度算法C++程序.doc
- “嵌入式产品开发”项目竞赛技术方案.doc
- 土地测绘技术的信息化与土地开发管理措施.docx
- 2018年百万公众网络学习工程测试参考答案.doc
- C语言程序设计2014春第三套作业.docx
- 大数据下的不动产登记档案的信息管理及利用.docx
- 大楼综合布线设计方案.docx
- 微信公众平台对高校网络舆论影响的研究.docx
- 试卷分析模型构建--基于教育大数据的实证分析.docx
- 网络金融学教案全解.doc
- 新互联网下高职计算机专业教学模式改革初探.docx
- 大数据环境下开放信息资源共享平台构建.docx


