文本内容:
4.2构造方法与this关键字我们在类与对象的学习中了解到,实例化一个类的对象后,如果要为这个对象中的属性赋值,则必须要通过直接访问对象的属性或调用方法才可以;如果需要在实例化对象的同时就为这个对象的属性进行赋值,我们还可以通过setXxx构造方法来实现;本节主要介绍构造方法和关键字;this在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法;方法名与类名相同;方法名的前面没有返回值类型的声明1方法中没有使用语句返回一个值;23return如图所示是一个构造方法的定义实例,在类中定义了一个无参的构造方法;如果这个无参的构造方法被调用的话,会输出一句”无参构造方法被调用”;Student如图所示是一个对象实例化的例子,定义了一个对象在实例化对象的时候调用了构造方法;构造方法被调用的过程中输出”无参Student si,构造方法被调用”;Student Student在一个类中除了定义无参的构造方法,还可以定义有参的构造方法,通过有参的构造方法就可以实现对属性的赋值;如图所示,在有参的构造函数中,将参数的值传给了类的1StudentString NameName如图所示,在实例化类对象的时候,使用了有参的构造方法,将Student strName;“张帅”传递给了对象的姓名属性;2Student使用类对象的进行输出的时候,输出了对象的姓名,由于学号和班Student si级属性没有设置,因此这两个属性输出为空;introduce与普通方法一样,构造方法也可以重载,在一个类中可以定义多个构造方法,只要每一个构造方法的参数类型或者参数个数不同;在创建对象的时候,可以通过调用不同的方法为不同的属性赋值;如图所示,在类中增加了一个构造方法,方法中的参数分别为姓名,学号和班级;构造方法中,分别设置类中的姓名,学号和班级这三个属性1Student值;Student如图所示,定义了两个对象和根据传入参数的不同,分别调用不同的构造方法,从程序的输出结果来看,两个构造方法对于对象属性赋值是不同2Student si s2,的;对象的构造函数只对姓名属性赋值,而对象的构造函数对姓名,学号和班级三个属性进行了赋值sis2下面我们介绍关键字;如图所示,在构造方法中,使用变量表示姓名时,构造方法中使用的是成员变量使用的是构造方法和成员变量在表示班this级和学号的时候,使用的变量名也不一致;Name,strName,这样的程序可读性很差这需要将一个类中表示相同内容的变量进行统一的命名,例如将姓名,班级和学号都声明为但是这样做又会导致成员变量和局部变量的名称冲突,在方法中将无法访问成strName,strCls,iNum员变量为了解决这个问题中提供了一个关键字用于在方法中访问对象的成员变量strName,strCls,iNum,Java this下面我们介绍在构造方法中使用关键字的一个实例,如图所示;通过关键字可以明确地去访问一个类的成员变量,解决与局部变量名称冲突问题;this this在如图代码中,构造方法的参数被定义为它是局部变量,在类中还定义了三个成员变量,名称也是“strName,iNum,strCls”,在构造方法中如果使用则是访问局部变量,但如果使用strName,iNum,strCls”则是访问成员变量;strName,iNum,strCls”“this.strName,this.iNum,this.strCls”下面我们介绍一个构造方法中使用关键字的案例;构造方法是在实例化对象时被虚拟机自动调用的,在程序中不能像调用其this他方法一样去调用构造方法;Java但可以在一个构造方法中使用(参数参数))的形式来调用其他的构造方法;“this1,2…如图所示,在有参的构造方法中使用调用了一个无参的构造方法;如图所示,使用有参的构造方法实例化对象的时候,在运行结果中,1this我们发现无参的构造方法被调用,两个构造方法同时被调用;2Student使用调用类的构造方法时,只能在构造方法中使用调用其他的构造方法,不能在成员方法中使用;this this在构造方法中,使用调用构造方法的语句必须位于第一行,且只能出现一次;this本节首先介绍了构造方法的作用和语法结构;然后通过具体的实例讲述了构造方法的重载;最后通过编程案例介绍了关键字的使用方法和特点;this。
个人认证
优秀文档
获得点赞 0