分析选项中关于java中this关键字,this关键字调用构造方法
00-1010了解构造方法,了解thisthis.xx的用法this()用于总结构造函数的调用。
00-1010上节课我们讲了java中的类的创建,那么我们来做一个实际的练习:用学生的基本信息创建一个学生类,包括姓名,性别,年龄,学号。您可以编写这样的代码:
class Student { String name字符串性别;int age长studentID} public class test demo 2 { public static void main(String[]args){ Student stu 1=new Student();1.stu1.name=张三;//将stu1.gender= male 赋给stu1对象的每个成员变量;stu 1 . age=19;stu1.studentID=231245431//打印出system . out . println( name : stu 1 . name gender : stu 1 . gender age 3360 stu 1 . age 学号3360 stu 1 . studentid);}}但是你在写的时候,是不是觉得给对象的成员变量逐个赋值太繁琐了?你能马上赋值吗?非常好,用Java中的构造方法就能做到这一点.
那么快来看看什么是构造方法吧!
方法是一个类的特殊方法,用于初始化该类的新对象。在创建对象(new operator)后会自动调用它。Java中的每个类都有一个默认的构造方法,并且可以有多个构造方法。
Java构造方法有以下特点:
方法名必须与类名相同可以有 0 个、1 个或多个参数没有任何返回值,包括 void默认返回类型就是对象类型本身只能与 new 运算符结合使用值得注意的是,如果为构造方法定义了返回值类型或使用 void 声明构造方法没有返回值,编译时不会出错,但 Java 会把这个所谓的构造方法当成普通方法来处理
下面是一个构造方法的例子。
class Student { String name//学生类的属性int agepublic void eat(){ system . out . println(name eating );student类} public student(){ system . out . println(这是一个没有参数的自定义构造方法)的行为(方法);} }公共类test demo 3 { public static void main(String[]args){ Student Student 1=new Student();}}
当你看到输出结果的时候,你是不是觉得:诶?不,我的主要方法只是实例化一个对象!不是我输出的。为什么我还输出构造方法的内容?
学生student1=新学生();
原因是:当类的对象被创建时,该构造方法将被自动调用。
其实我们在用new关键字实例化对象时 , 程序一定干了这两件事(但可能不只有这两步)
在堆区分配对象需要的内存,调用合适的构造方法。看到这里,你可能又有问题了。我们之前实例化对象的时候,明明没有定义构造方法!你怎么能说程序在实例化一个对象的时候一定要调用构造函数呢?
是这样的,当一个类中没有提供任何构造方法,系统默认提供一个无参数的构造方法,就像这样:
学生(){ }但如果类中显式地定义了一个或多个构造方法,则系统不再提供默认构造方法。
在一个类中,与类名相同的方法是构造方法。每个类可以有多个但要求它们各自包含不同的方法参数,构造函数,比如这个:
学生(
) { System.out.println("这是自定义的一个没有参数的构造方法");}Student(String name) { this.name = name; System.out.println("这是自定义的带有一个参数的构造方法");}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。