JAVA构造方法
发布日期:2021-05-07 14:40:49 浏览次数:16 分类:技术文章

本文共 3508 字,大约阅读时间需要 11 分钟。

目录


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值 6static 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关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。

声明格式: 

[修饰符] 类名(形参列表){    //n条语句}

要点:

  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。每一个类必须有自己的构造函数,负责构造自己这部分的构造。子类不会覆盖父类的构造函数,相反必须负责在一开始调用父类的构造函数

上一篇:JAVA垃圾回收机制
下一篇:JAVA类的定义

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年03月21日 10时21分23秒