Java方法03——构造方法与可变参数

简介: Java方法03——构造方法与可变参数

Java方法03——构造方法与可变参数

我们应该有恒心,尤其要有自信心——居里夫人

本篇笔记简介一、拓展知识-->二、构造方法-->三、可变参数

目录


一、拓展知识:命令行传参

①为什么要了解命令行传参?

有时候你希望运行一个程序时候再传递给它消息。

这要靠传递命令行参数给main()函数实现。

②命令行形参是什么?

命令行参数是在执行程序时候紧跟在程序名字后面的信息。


二、构造方法

ps:构造方法,可以联系C++中的构造函数来加以理解。

1构造方法的作用:

当一个对象被创建时候,构造方法用来初始化该对象。

2.关于构造方法的几点说明:

①构造方法与它的类名相同,它无返回值。

②通常会使用构造方法给一个类的实例变量赋初值,或者执行其它必要的步骤来创建一个完整的对象。

③不管你是否自定义构造方法,所有的类都会有构造方法——默认构造方法,它的访问修饰符和类的访问修饰符相同即类为 public,构造函数也为 public。

④一旦有自定义的构造方法,默认构造方法就会失效。

3.实例助解:

简单构造方法实现:调用构造方法来初始化一个对象

// 一个简单的构造方法
class MyClass {
  int x;
  //Myclass中的构造方法
  MyClass() {  //如果没有这个自定义的构造方法,类在构造初始化时,会调用默认的构造方法。
    x = 5;
  }
   public static void main(String args[]) {
      MyClass c1 = new MyClass();
      MyClass c2 = new MyClass();
        System.out.println(c1.x + " " + c2.x);
   }
}

输出演示如图:


三、可变参数

1.预备知识

Java支持传递同类型的可变参数给一个方法。(JDK1.5时加入)

2.可变参数理解

java 可变参数是1.5版本的新特性,意思其实就是:用户若是想定义一个方法,但是并不知道以后要用的时候,到底要传几个参数进去,这时可以在方法的参数列表中写参数类型或者数组名,然后在方法内部直接用操作数组的方式操作。

①可变适用于:

参数个数不确定,类型确定的情况,java把可变参数当做数组处理。

②方法的可变参数的声明如下所示:

typeName... parameterName

在方法声明中,在指定参数类型后加一个省略号(…) 。

③注意:

  • 一个方法中只能指定一个可变参数;
  • 它必须是方法的最后一个参数。
  • 任何普通的参数必须在它之前声明。

④ ③中注意部分解释

ps: a.和b.结合起来理解

a.一个方法为什么只能指定一个可变参数?

因为当可变参数个数大于1时,至少会有一个不是最后一项,所以只支持有一个可变参数。

b.可变参数为什么必须要是方法的最后一个参数呢?

因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数,还是后边的参数,可变参数只能位于最后一项。

3.实例助解:
public static void main(String args[]) {
        // 调用可变参数的方法
        Max(1, 3, 7.7, 5.5, 9);
        Max(new double[]{1, 2, 3});
    }
    public static void Max( double... numbers) {
        if (numbers.length == 0) {
            System.out.println("没有参数通过");
            return;
        }
        double result = numbers[0];
        for (int i = 1; i < numbers.length; i++){ //for循环,实现大小比较
            if (numbers[i] > result) {
                result = numbers[i];
            }
        }
        System.out.println("最大值为:" + result);
    }

输出演示如图:


作者:Code_流苏(一个喜欢古诗词和编程的Coder😊)

★喜欢的话,还请多多点赞与关注! 感谢支持!

笔记更新随个人学习进度而进行,欢迎评论交流学习!


目录
相关文章
|
2月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
261 18
|
2月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
215 4
|
2月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
315 5
|
3月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
160 11
|
3月前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
4月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
429 0
|
4月前
|
存储 Java 数据处理
Java映射操作:深入Map.getOrDefault与MapUtils方法
结合 `getOrDefault`方法的简洁性及 `MapUtils`的丰富功能,Java的映射操作变得既灵活又高效。合理地使用这些工具能够显著提高数据处理的速度和质量。开发人员可以根据具体的应用场景选择适宜的方法,以求在性能和可读性之间找到最佳平衡。
200 0
java202303java学习笔记第四十天反射获取构造方法1
java202303java学习笔记第四十天反射获取构造方法1
182 0
|
存储 Java Spring
java笔记之反射机制(方法&构造方法)
如何获取Class 1.Class中静态方法 forName("类全名") 2.类.class关键字 3.对象引用.getClass()方法 Class中的常用方法 int = getModifiers(); 获取类的修饰符(权限+特征) String = getName(); 获取类的全名(包名.类名) String = getSimpleName(); 获取类简单名(只有类名 缺少包) Class = getSuperClass(); 获取当前类父类的对应Class Class[] = getInterfaces(); 获取当前类父亲接口 Package
214 0