构造方法与方法的重载

构造方法也叫做构造器。

构造方法的作用:开辟内存空间、创建实例、初始化属性值。

构造方法的特点:

  • 方法名与类名相同  (大写敏感)public  Student( );

  • 不能声明返回类型,void也不行   //没有返回类型(也算对,但是不严谨)

  • 不能使用return语句返回内容/不能有返回值

  • 通常为public

注意:

  1. 如果没有明确提供构造方法,则系统会提供一个默认的构造方法,默认构造方法(也称为缺省构造方法)没有参数。

  2. 如果我们提供了一个构造方法,则系统不再提供无参数的默认构造方法。

  3. 如果我们提供了一个有参数的构造方法,同时又需要无参构造方法的话,则必须同时提供一个无参数的构造方法。

 

new运算符

new运算符实际是就是调用构造方法,创建一个新对象。当进入到构造方法内部时,实际上对象已经创建完毕,可以在构造方法中为各成员变量赋值。

 

this关键字

  • 在类的内部,可以在任何方法中使用this引用当前对象。

  • 使用this关键字解决在实例变量和局部变量之间可能发生的任何名称冲突。

  • 局部变量,包括方法的形参,可以和类的实例变量重名。当局部变量和实例变量具有相同的名称时,局部变量隐藏了实例变量。

 

方法深入分析

方法可以看做是独立的功能模块,供其他模块调用,功能模块要有输入、输出,对于方法而言输入就是方法的参数,输出就是方法的返回值。调用者通过参数将需要输入的数据传递给方法,方法通过返回值将输出返回给调用者。

 

在一个方法中调用另外一个方法有两种情况:

  • 同一个类中的方法相互调用:可以直接调用(本质上是使用this关键字调用)

  • 不同类中的方法相互调用:对象.方法名

 

 

return关键字

  1. return语句用于明确地从一个方法返回。即,return语句导致程序的执行控制转移回到方法的调用者。

  2. 如果return之后还有代码,也不会执行。

  3. 如果方法的返回类型为void,可以使用return跳出方法,但是不能使用return返回数据。

  4. 方法的返回值可以是对象。

 

参数传递的两种方式

方法调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

两种参数传递方式:

  • 值传递:参数类型为基本类型,参数传递时是将实参的值赋给形参,实参和形参是不同的变量。

  • 引用传递:引用类型(对象)作为参数,参数传递时,实参和形参指向同一个对象。所以在方法中修改形参指向的对象会影响到实参所指向的对象(本来就是同一对象)。


方法重载

在同一个类中名称相同、形参列表不同的多个方法称为重载方法。

特点:

  1. 方法名相同

  2. 形参列表不同:形参的类型、形参的个数,形参的顺序

注意的地方:

  1. 返回值在区分重载方法时不起作用。访问修饰符也不起作用

  2. 当调用重载方法时,Java使用实参的类型和/或数量确定实际调用哪个版本

特别说明:在某个构造方法中可以使用this()调用重载的构造方法

 

static关键字

对于类中的成员变量和成员方法都可以使用static进行修饰。

main()方法是最常见的静态成员的例子。main()方法被声明为静态的,因为需要在创建所有对象之前调用该方法。

静态变量

对于类中的成员变量可以使用static进行修饰,这种变量叫做静态变量

没有使用static修饰的变量叫做实例变量

实例变量与静态变量的区别:

  • 是否共享

    • 实例变量:不共享,类的每个对象(实例)都有自己的实例变量

    • 静态变量:共享,类的所有对象都共享同一个变量

  • 访问方式

    • 实例变量:只能通过对象访问

    • 静态变量:类名.变量名(推荐)、对象.变量名(不推荐)

  • 初始化时机

    • 实例变量:创建类的对象时初始化

    • 静态变量:当类被虚拟机加载初始化,创建类的任意对象之前已经初始化。


静态方法

对于类中的方法也可以使用static进行修饰,这种方法称为静态方法

没有使用static修饰的方法称为实例方法

静态方法和实例方法的区别(访问方式):

  • 静态方法:可以通过类名(推荐)和对象(不推荐)

  • 实例方法:只能通过对象访问

静态方法的特点:

  • 不需要创建类的对象就可以直接通过类名调用静态方法,例如Math.random()。

静态的方法有几个限制:

  • 只能访问类中的其他静态成员(静态变量、静态方法)

  • 不能以任何方式引用thissuper关键字

关于static的几点说明

  1. static的本质作用是区分成员属于类还是属于实例(对象)

  2. 通常把使用static修饰的变量和方法称为类变量和类方法,有时也称为静态变量和静态方法,把不使用static修饰的变量和方法称为实例变量和实例方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值