java方法与构造方法_java中方法与构造方法的理解

初学者可能会搞晕或者是不理解,个人认为要理解并区分方法与构造方法 我们首先应该了解他们的作用,用作用做对比才能方便区分,接下来才是慢慢了解如何使用。

首先先简单了解一下大概作用

方法: 方法是语句的集合,它们在一起执行一个功能。实际上就相当于python或者c中的函数。

构造方法: 构造方法其实就是对类进行里面数据的初始化定义,它是方法中的一种(方法分为三种,接下来会说到),你可以有也可以没有。没有系统会自动给你生成一个无参的。重点也是需要提前强调的是它需要与类名相同。

之后继续说

方法: 一个类中的方法分为三类: 1)全局方法 2) 成员方法 3)构造方法

public class Test{

private int xxx;

public Test(int age){ //这是构造方法

xxxxxx

}

public void xxxxxx(int xxxx){ //这是成员方法

xxxxxx

}

public static int xxxxx(){ //这是全局方法,加了static ,成员方法就会变成全局方法

return xxxxx;

}

}

1

2

3

4

5

6

7

8

9

10

11

12

publicclassTest{

privateintxxx;

publicTest(intage){//这是构造方法

xxxxxx

}

publicvoidxxxxxx(intxxxx){//这是成员方法

xxxxxx

}

publicstaticintxxxxx(){//这是全局方法,加了static ,成员方法就会变成全局方法

returnxxxxx;

}

}

三者区别:

成员方法必须构造类的实例化对象进行访问

全局方法可以用类直接访问

构造方法是实例化对象时进行初始化的

一般情况下,定义一个方法包含以下语法:

修饰符 返回值类型 方法名(参数类型 参数名){

...

方法体

...

return 返回值;

}

1

2

3

4

5

6

修饰符返回值类型方法名(参数类型参数名){

...

方法体

...

return返回值;

}

修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。

返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。

方法名:是方法的实际名称。方法名和参数表共同构成方法签名。

参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。

方法体:方法体包含具体的语句,定义该方法的功能。

构造方法

在创建对象的时候,对象成员可以由构造函数方法进行初始化。

也就是我们创造实例化的代码中 new后面跟的就是构造方法

Telphone phone=new Telphone();

1

Telphonephone=newTelphone();

等号右面

new Telphone()

1

newTelphone()

相当于是以Telphone类为模板,在堆空间里创建一个Telphone类对象

末尾的()代表着,在对象创建后,立即调用Telphone类的构造函数,对刚生成的对象进行初始化。

等号左面

Telphone phone

1

Telphonephone

创建命名了一个Telphone类引用变量phone

这里用一下imooc的图

83a7bb8109df87c632f3e8f27c64cbb8.png

接下来再说下有参和无参的构造方法的区别

有参就是你可以在创建对象时候赋值

public Test(String name){

mz=name;

}

1

2

3

publicTest(Stringname){

mz=name;

}

Test为构造方法(函数)名 需要与类名相同

创建对象

Test name=new Test("xxxxx");

1

Testname=newTest("xxxxx");

无参就需要这样

public Test(){

}

public String mingzi(String name){

mz=name;

return mz;

1

2

3

4

5

6

publicTest(){

}

publicStringmingzi(Stringname){

mz=name;

returnmz;

创建对象并赋值

Test nick=new Test();

nick.mingzi="ruilin";

1

2

Testnick=newTest();

nick.mingzi="ruilin";

总的来说,有参构造函数和无参构造函数都可以提前初始化一些值,但是有参可以在实例化时就进行赋值而无参不可以。这些赋值或者说初始化都是为了后面调用方法(函数)更加方便或者是去提供一些功能所必要的参数来防止报错,这也就是构造方法的作用。

最后再放一个有参的构造方法的例子便于理解

public class Testff {

int num;

public Testff(int n){

num = n;

}

public int numb(int a,int b){

System.out.println(a+"\n"+b+"\n"+num);

int c=a+b+num;

return c;

}

public static void main(String[] args) {

Testff test=new Testff(11);

System.out.println(test.num+"\n"+"---------");

System.out.println(test.numb(1,2));

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

publicclassTestff{

intnum;

publicTestff(intn){

num=n;

}

publicintnumb(inta,intb){

System.out.println(a+"\n"+b+"\n"+num);

intc=a+b+num;

returnc;

}

publicstaticvoidmain(String[]args){

Testfftest=newTestff(11);

System.out.println(test.num+"\n"+"---------");

System.out.println(test.numb(1,2));

}

}

output:

11

---------

1

2

11

14

1

2

3

4

5

6

11

---------

1

2

11

14

以上就是我对java中方法与构造方法的理解与区分,其中也简述了对有参与无参构造方法的一些理解,欢迎交流。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值