JAVA构造方法

简介: JAVA构造方法

1 方法

在 Java 中,方法定义行为。一个方法是一个组合在一起执行操作的语句的集合。System.out.println() 是一个方法的例子。

您可以定义自己的方法来执行所需的任务。

下面是一个例子:

class MyJavaClass {
  static void sayHello() {
    System.out.println("Hello Edong!");
  }
  public static void main(String[] args) {
    sayHello();
  }
}
// 输出 "Hello Edong!"

在上面的例子中,声明了一个名为 “sayHello” 的方法,它会输出一行文本,然后在 main 方法中调用。

提示:若要调用一个方法,请输入其名称,然后在名称后面加上一组圆括号。

2 方法调用

在 Java 中,您可以根据需要多次调用方法。

当一个方法运行时,代码会跳转到方法定义的位置,执行它内部的代码,然后返回到下一行。

下面是一个例子:

class MyJavaClass {
  static void sayHello() {
    System.out.println("Hello Edong!");
  }
  public static void main(String[] args) {
    sayHello();
    sayHello();
    sayHello();
  }
}
// Hello Edong!
// Hello Edong!
// Hello Edong!

3 方法参数

您也可以创建一个方法,在调用它时将一些数据称为参数。在方法的括号内写入参数。

例如,我们可以修改我们的 sayHello() 方法来获取并输出一个字符串参数。

class MyJavaClass {
  static void sayHello(String name) {
    System.out.println("Hello " + name);
  }
  public static void main(String[] args) {
    sayHello("Loen");
    sayHello("Shuter");
  }
}
// Hello Loen
// Hello Shuter

上面的方法将一个名为 name 的字符串作为参数,用在方法的主体中。

然后,在调用方法时,我们将参数的值传递给括号。

 

提示:在 Java 中,方法可以采用多个以逗号分隔的参数。

4 返回类型

返回关键字可用于方法返回值。

例如,我们可以定义一个名为sum的方法,返回两个参数的总和。

static int sum(int val1, int val2) {
   return val1 + val2;
}

在方法定义中,我们在定义方法名称之前定义了返回类型。对于sum方法,它是int类型,因为它采用int类型的两个参数,并返回它们的总和,这也是一个int类型。

提示:关于static关键字的知识,我们将在后面的小节中去了解学习。

现在,我们可以使用我们main的方法。

class MyJavaClass {
  static int sum(int val1, int val2) {
    return val1 + val2;
  }
  public static void main(String[] args) {
    int x = sum(3, 6);
    System.out.println(x);
  }
}
// 输出 "9"

当该方法返回一个值时,我们可以将其赋值给一个变量。

提示

如果不需要从方法中返回任何值,请使用关键字void。

注意main方法定义中的void关键字,这意味着main不返回任何内容。

通过前面小节的学习介绍,我们可以更好地理解程序是如何工作的:

// 返回一个int值 6
static int returnSix() {
  return 6;
}
// 输出传入的参数
static void sayHelloTo(String name) {
  System.out.println("Hello " + name);
}
// 打印 "Hello Lu!"
static void sayHello() {
  System.out.println("Hello Lu!");
}

在了解方法返回类型和参数的知识之后,我们再来看看main方法的定义。

public static void main(String[] args)

这个定义表明main方法以一个字符串数组作为参数,并且不返回任何值。

让我们创建一个方法,它采用int类型的两个参数,并返回这两个参数的最大值,然后在main中调用它:

public static void main(String[] args) {
  int result = max(5, 35);
  System.out.println(result); // 35
}
static int max(int x, int y) {
  if(x > y) {
    return x;
  }
  else {
    return y;
  }
}

5 构造方法

构造器也叫构造方法(constructor),用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。

声明格式: 

1. [修饰符] 类名(形参列表){
2. 
3.     //n条语句
4. 
5. }

要点:

  1. 通过new关键字调用!!

  2. 构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。

3. 如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数。如果已定义则编译器不会自动添加!

  4. 构造器的方法名必须和类名一致!

构造方法也是方法,只不过有特殊的作用而已。与普通方法一样,构造方法也可以重载。

6 构造方法重载(创建不同用户对象)

public class User {
    int id; // id
    String name; // 账户名
    String pwd; // 密码
    public User() {
    }
    public User(int id, String name) {
        super();
        this.id = id;
        this.name = name;
    }
    public User(int id, String name, String pwd) {
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }
    public static void main(String[] args) {
        User u1 = new User();
        User u2 = new User(101, "张三");
        User u3 = new User(100, "李四", "123456");     
    }
}

注:

  如果方法构造中形参名与属性名相同时,需要使用this关键字区分属性与形参。如示例4-6所示:

  this.id 表示属性id;id表示形参id

7 构造方法面试三连

7.1 构造方法能不能显式调用?

不能,要想构造方法当成普通方法调用,只有在创建对象的时候它才会被系统调用

7.2 什么是方法重载?

方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要它们的参数个数或者类型不同即可。在这种情况下,该方法就叫被重

载了,这个过程称为方法的重载(override

7.3 构造方法能不能重写?能不能重载?

可以重载,但不能重写。

构造器 Constructor 不能被继承,因此不能重写 Override,但可以被重载 Overload。Constructor 不能被继承,所以 Constructor 也就不能被 override。每一个类必须有自己的构造函数,负责构造自己这部分的构造。子类不会覆盖父类的构造函数,相反必须负责在一开始调用父类的构造函数

目录
相关文章
|
18天前
|
Java 程序员 数据库连接
Java执行顺序大揭秘:静态块、非静态块和构造方法谁先谁后?
本文详细介绍了Java中的初始化块,包括静态初始化块和非静态初始化块的概念、执行顺序和实际应用场景。通过具体示例,帮助读者理解这两种初始化块的区别和使用场景,让面试官对你刮目相看。
26 0
Java执行顺序大揭秘:静态块、非静态块和构造方法谁先谁后?
|
1月前
|
设计模式 Java 测试技术
Java零基础-构造方法详解
【10月更文挑战第5天】Java零基础教学篇,手把手实践教学!
22 1
|
1月前
|
Java
java构造方法时对象初始化,实例化,参数赋值
java构造方法时对象初始化,实例化,参数赋值
51 1
|
6月前
|
存储 Java 编译器
【Java开发指南 | 第八篇】Java变量、构造方法、创建对象
【Java开发指南 | 第八篇】Java变量、构造方法、创建对象
85 3
|
2月前
|
Java API
java调用构造方法
java调用构造方法
39 3
|
1月前
|
Java
java构造方法的两种传值调用对实参的影响
java构造方法的两种传值调用对实参的影响
27 0
|
1月前
|
Java 程序员 编译器
【Java】继承、super、final、子类构造方法
【Java】继承、super、final、子类构造方法
30 0
|
3月前
|
Java
【Java基础面试十九】、构造方法能不能重写?
这篇文章指出Java中的构造方法不能被重写,因为构造方法必须与类名相同,而重写要求子类方法与父类方法同名,允许构造方法重写将违背这一规则。
【Java基础面试十九】、构造方法能不能重写?
|
3月前
|
存储 Java 程序员
08 Java面向对象基础(对象与类+实例变量与方法+构造方法+this关键字)
08 Java面向对象基础(对象与类+实例变量与方法+构造方法+this关键字)
79 4
|
3月前
|
Java 数据安全/隐私保护
Java代码的执行顺序和构造方法
构造方法是类的一种特殊方法,用于初始化新对象。在 Java 中,每个类默认都有一个与类名同名的构造方法,无需返回类型。构造方法不能用 static、final、synchronized、abstract 或 native 修饰。它可以重载,通过不同的参数列表实现多种初始化方式。构造方法在对象实例化时自动调用,若未显式声明,默认提供一个无参构造方法。构造代码块和静态代码块分别用于对象和类的初始化,按特定顺序执行。
31 0
下一篇
无影云桌面