标签 java 下的文章

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

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


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

  • 方法: 方法是语句的集合,它们在一起执行一个功能。实际上就相当于python或者c中的函数。
  • 构造方法: 构造方法其实就是对类进行里面数据的初始化定义,它是方法中的一种(方法分为三种,接下来会说到),你可以有也可以没有。没有系统会自动给你生成一个无参的。重点也是需要提前强调的是它需要与类名相同。

之后继续说

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

三者区别:

  1. 成员方法必须构造类的实例化对象进行访问
  2. 全局方法可以用类直接访问
  3. 构造方法是实例化对象时进行初始化的

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

  1. 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
  2. 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。
  3. 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
  4. 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
  5. 方法体:方法体包含具体的语句,定义该方法的功能。

 

  • 构造方法

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

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

等号右面

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

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

等号左面

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

这里用一下imooc的图

image

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

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

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

创建对象

无参就需要这样

创建对象并赋值

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

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

output:

 


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

java实现桶排序

了解桶排序

这个算法就好比有 11 个桶,编号从 0~10。每出现一个数,就在对应编号的桶中放一个 小旗子,最后只要数数每个桶中有几个小旗子就 OK 了。例如 2 号桶中有 1 个小旗子,表示 2 出现了一次;3 号桶中有 1 个小旗子,表示 3 出现了一次;5 号桶中有 2 个小旗子,表示 5 出现了两次;8 号桶中有 1 个小旗子,表示 8 出现了一次。

image


如何实现桶排序

  1. 使用数组代替桶的作用,利用数组的下标直接排好顺序
  2. 每次遇到相应的旗子编号就对其对应的桶即相同的数组下标如a[5]的值+1用于记录出现几次
  3. 依次判断桶中的值即为输出的次数
  4. 依次按照次数输出桶的编号即数组的下标

 


利用java实现

题目:

考试成绩需要由小往大依次排序 成绩范围为0-10 学生数为5人 请依次输入学生成绩并进行排序

java code: