构造方法:
概念:构造方法是一种特殊的方法,它是在对象被创建时初始化对象的成员的方法。
-
构造方法有以下特殊性:
1)构造方法的名称必须与它所在的类名完全相同。
2)构造方法没有返回值,但不能写 void 。
3)构造方法的主要作用是完成对类对象的初始化工作。
4)构造方法一般不能由编程人员显示地直接调用,而使用 new 来调用。
5)在创建一个类的对象的同时,系统会自动调用该类的构造方法为新对象初始化。
- 系统默认的构造方法:
如果没有定义构造方法,但依然可以创建新的对象,并能正确地执行程序,这是因为 Java 编译器会自动为该类生成一个默认的构造方法。默认的构造方法没有参数,在其方法体中也没有任何代码,即什么也不做。
系统默认构造方法: 类名 () {};
注意⚠️:若在一个类中只定义了有参数的构造方法,但却调用无参数的构造方法创建对象,则编译不能通过。
构造方法的重载:
概念:只要方法与方法之间的参数个数不同,或是参数的类型不同,便可定义多个名称相同的方法,这就是方法的重载。
图片-
构造方法之间的调用:
为了某些特定的运算,Java 语言允许在类内从某一构造方法内调用另一构造方法,且通过 this () 语句来调用的。
注意⚠️:
1)在某一构造方法中调用另一构造方法时,必须使用 this 关键字来调用,否则编译时将出现错误。
2)this 关键字必须写在构造方法内的第一行位置。
- 公共构造方法与私有构造方法:
构造方法一般都是公有(public)的,这是因为它们在创建对象时,是在类的外部被系统自动调用的。如果构造方法被声明为 private ,则无法在该构造方法所在的类以外的地方被调用,但在该类的内部是可以被调用的。
今日总结感悟:直至今日,颇有感悟,Java 在某些地方确实比C更方便更简洁,但是也并不简单,许多抽象性的东西对于比较感性化的女生来说更难以理解,我开始有点点感觉认真不下去了,感觉比高数还复杂,咱有点吃不消额,反正也不说就此放弃,总之很难搞噢