第三节课,我们还在学类和对象,可见类和对象的重要性啊。不过内容肯定不一样啊,理所当然的更难了。
本节课的重点在构造方法(上节课重在普通方法)、方法(包括普通方法和构造方法)重载、this关键字、值传递、引用传递(内容好多啊,忙不过来啦~~~~(>_<)~~~~ )。
一、构造方法
1.语法格式:
public 类名(数据类型 形参名,...){
//方法体
}
2.构造方法与普通方法的区别:
1)返回值不同:构造方法没有返回类型,甚至没有void,也不能被static、final、synchronized、abstract和native修饰(百度的,现在基本都不知道是什么,不过以后会学的,先打个底);
2)方法名也不同:普通方法是我们自己命名,而构造方法则是类名做方法名。
3.实例化对象的格式:类名 对象名=new 类名();
4.用途:1)实例化对象;
2)给属性设置初始值。
5.值得注意的是,Java中会给类提供一个默认的构造方法;如果在类中定义了构造方法,默认的就会被覆盖,我们也就不能再继续使用默认的构造方法了。
eg:
//无参构造方法
public Fighter(){
}//构造时,传入名字参数,初始化属性
//有两个参数的构造方法
public Fighter(String name,int blood){
this.name=name;
this.blood=blood;
}
二、方法(构造方法和普通方法)重载
1.实现重载的条件:
1)方法名字必须要完全相同;
2)方法所带的参数个数、参数类型、参数顺序,这三项中最少要有一个是不同的。
2.调用:在调用过程中,系统会根据参个数、类型、顺序准确调用我们需要的方法。
3.用途:我们在用同一种方法做同一件事但是要求不一样的时候,就得用到方法的重载,举个例子:安装电脑的时候,安内置摄像头与不安内置摄像头;敲代码实现同一个目标,用构造方法与不用构造方法……
eg:
//定义Fighter与Boss对战的方法
public void fire(Boss XD){
XD.setBlood(XD.getBlood()-3);//获得Boss的血量
System.out.print(name+"向"+XD.getName()+"开火一次 ");
XD.lose();//调用Boss的lose方法
win();
System.out.println(name+"攻击"+XD.getName()+"成功,血量加一,为"+blood);
}
//定义Fighter与Monster WM的对战方法
public void fire(Monster WM){
WM.setBlood(WM.getBlood()-3);
System.out.print(name+"向"+WM.getName()+"开火一次 ,剩余血量为"+WM.getBlood()+" ");
win();
System.out.println(name+"攻击"+WM.getName()+"成功,血量加一,为"+blood+" ");
}
三、this关键字
1.this在类中用来指代当前对象,就是在所以的“人类”当中都可以有“我”这个字一样,具体到哪一个人看,这个“我”指的就是哪个。
2.用途:解决变量的命名冲突和不确定性,this代表其所在方法的当前对象,在构造方法中指该方法所创建的新对象,普通方法中指调用该方法的对象;this关键字还可以在构造方法中调用自己的另外一个构造方法。
四、值传递
值传递的形式参数类型是基本数据类型,方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。
eg:
Boss XD=new Boss("毛毛",80);//实例化对象的时候将“毛毛”与80分别传给name与blood
五、引用传递
引用传递的形式参数类型是引用数据类型参数,也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。
eg:
XD.setBlood(XD.getBlood()-3);// /定义Fighter与Boss对战的方法,引用传递,以获得Boss的血量
此图形象地表示了值传递和引用传递:
六、个人心得:1.在编写的对战游戏中,因为一个对象和好几个对象fight,所以这里就会用到方法的重载。
2.在主函数中会调用其他类里面的方法(构造方法和普通方法),这时就会出现值传递和引用传递,或者在各个类互相调用的时候也会用到。
3.特别要注意this关键字的用途和用法。
还是那句话,实践出真知,尤其是编程,代码是敲出来的,而不是看出来的,代码一定要自己动手敲!
相关推荐
本篇文章将深入探讨类与对象以及构造方法的相关知识点。 首先,类是对象的蓝图,它定义了一组特性和行为。在Java中,类是用来创建对象的模板,它包含变量(也称为属性或成员变量)和方法(函数)。例如,`Student....
总结来说,通过Java的构造方法重载,我们可以灵活地创建具有不同初始状态的`Course`对象。`GPACalculator`类则负责根据这些课程的信息计算GPA,展示了面向对象编程在解决实际问题时的便利性。在实际开发中,可能还...
总结,Java构造方法在创建和初始化对象时起着至关重要的作用。通过理解并熟练运用构造方法,开发者可以更好地设计和实现类,提高代码的可读性和维护性。在实践中,要灵活运用构造方法的重载、`this`关键字以及与继承...
### Java编程中对象的创建与使用以及方法的重构与重载的区别说明 ...总结起来,对象的创建与使用是Java编程的基础,而方法的重构与重载则是实现多态性的关键手段。理解这两者的区别和应用对于掌握Java编程至关重要。
总结,Java中的构造方法是创建和初始化对象的关键组成部分,它们使得我们可以根据不同的场景灵活地初始化对象,并通过构造方法重载来提供多种初始化方式。理解和掌握构造方法的使用对于编写高质量的Java代码至关重要...
总结起来,"类与对象"是面向对象编程的基础,"封装"确保了数据的安全性和良好的模块化设计,"构造方法"则帮助我们初始化和定制对象。理解并熟练运用这些概念是成为一名优秀的Java开发者的必备技能。通过实践和不断...
在Java等面向对象语言中,构造方法的名字必须与类名完全相同,且没有返回类型,包括void。下面我们将深入探讨构造方法的相关知识点。 1. **什么是构造方法**: - 构造方法是类的一个特殊成员函数,它的主要任务是...
### Java方法继承、方法重载、方法覆盖总结 在Java编程语言中,方法继承、方法重载、方法覆盖是三个非常重要的概念。它们之间既有关联又有区别,掌握这些概念对于深入理解面向对象编程有着至关重要的作用。 #### ...
当我们谈论构造方法重载时,这意味着一个类可以有多个构造方法,它们的区别在于参数列表的不同。这使得我们可以根据不同的初始化需求来调用不同的构造方法,提高了代码的灵活性和可读性。 ### 构造方法的作用 1. *...
构造方法 方法的定义 在java中称为‘方法’,在C中称为‘函数’ java方法是语句的集合 用于执行一个功能 包含于类和对象中 可以被引用 方法的格式 访问权限 [修饰符] 返回值类型 方法名(参数列表){ ... 方法体 .....
总结,Java子类构造方法的使用涉及到继承、初始化、方法调用等多个概念。正确理解和运用这些知识点对于编写健壮的Java程序至关重要。通过熟练掌握这些内容,开发者可以更好地设计和实现类的层次结构,提高代码的复用...
Java构造方法解析 ...总结起来,Java构造方法是初始化类实例的关键工具,它们允许我们在创建对象时定制初始化过程,确保对象的正确状态。理解并熟练运用构造方法及其特性对于编写高效、可维护的Java代码至关重要。
在给定的压缩包文件“Timer”中,可能包含了这个时钟类的实现代码,包括类定义、成员函数(包括构造函数、析构函数以及其他辅助函数)以及运算符重载的实现。通过阅读和学习这段代码,初学者可以了解如何在实践中...
构造方法是一个特殊的方法,其名称与所属类的名称完全相同,且没有返回类型。它的主要任务是对新创建的对象进行初始化,确保每个对象在诞生时都有一个确定的状态。 在Java中,构造方法的调用是自动进行的,当通过`...
在C#编程语言中,构造方法是类的一个特殊方法,它的主要作用是在创建对象时初始化对象的状态。构造方法的名字必须与类名完全相同,并且不返回任何类型(没有void关键字)。下面我们将深入探讨C#中构造方法的使用,...
C#是一种面向对象的编程语言,其核心概念之一就是类与对象之间的关系。类是对象的模板或蓝图,它定义了创建对象的属性和方法。对象则是类的具体实例,是实际存在的实体。 在C#中,创建类意味着定义了一组属性和方法...
在本篇文章中,我们将深入探讨一个自定义`String`类的实现细节,该类包含了构造函数、析构函数以及各种常用的操作符重载方法。通过具体的代码示例,我们可以更好地理解这些功能如何在C++中被实现。 #### 一、String...
根据提供的信息,《面向对象软件构造》(第2版)是一本深入探讨面向对象编程理论与实践的经典著作。本书由Bertrand Meyer撰写,并由Liber Wang翻译成中文版本,旨在为读者提供面向对象软件开发的核心概念和技术指导...
### PHP5 类与对象知识点详解 #### 1. PHP 类与对象 ...以上是对 PHP5 中类与对象相关知识点的详细解释,涵盖了类的基本定义到高级特性,如继承、多态等。掌握这些知识点对于进行面向对象编程至关重要。
构造方法可以重载,即在同一类中定义多个带有不同参数列表的构造方法,以便在创建对象时根据需要传递不同的参数。 例如: ```java public class Person { private String name; private int age; public Person...