Java中普通方法与构造方法

更新时间:2020-07-27 09:51:00 点击次数:995次
一、方法的简介:
Java方法是语句的集合,它们在一起执行一个功能。

(1)方法是解决一类问题的步骤的有序组合
(2)方法包含于类或对象中
(3)方法在程序中被创建,在其他地方被引用

1、构造方法:
构造方法是类的一种特殊方法,用来初始化类的一个新的对象,在创建对象(new 运算符)之后自动调用。Java 中的每个类都有一个默认的构造方法,并且可以有一个以上的构造方法。

Java 构造方法有以下特点:
1、方法名必须与类名相同
2、可以有 0 个、1 个或多个参数
3、没有任何返回值,包括 void
4、默认返回类型就是对象类型本身
5、只能与 new 运算符结合使用(这一点下文会详细说明)

2、普通方法:
1、java的普通方法可以操作调用它从属的对象的属性和参数列表中的参数
2、普通方法的调用方式:对象.方法名(参数),比如Car类的对象anotherCar中的driverCar方法,调用方式为:anotherCar.driverCar();
3、java方法只能有一个返回值,但“值”的形式具有多样性

四、方法的定义:
1、构造方法语法结构:
public(修饰符) class(定义类的关键字) Test(类名)(){
//无参
Test(类名)(){ }
//带一个参数
Test(类名)(String(变量类型) name(变量名)){ }
}


2、普通方法语法结构:
定义类:
public(修饰符) class(定义类的关键字) Test(类名)(){
private(修饰符) static(修饰符) String(变量类型) s(变量名) = “hello world”;
下面是方法的定义
public(修饰符) static(修饰符) void(返回值类型) main(方法名)(String[] args(参数)){
System.out.println(s);(代码语句)
}
}


五、方法的调用:
1、构造方法:
new 构造方法名(实参列表)
例如:承接上文所述定义的Date构造方法,下面进行调用

由上图可以看出,若想要调用构造方法,必须先要为其创建对象,然后使用对象去对该方法进行调用

2、普通方法:
(1)方法修饰符中有static时:类名.方法名(实参列表)
(2)方法修饰符列表中没有static时:引用.方法名(实参列表)
!!注意:(new一个对象也可以调用static,但是即使new了一个对象,调用过程实际没有用到该对象!!因为static静态变量不依托于对象而存在没不占用对象空间)
以上文中定义的doOther为例:


六、方法的返回值问题:
1、构造方法:
(1)每一个构造方法执行结束都有返回值,只是这个“return”不需要写,并且返回值类型是构造方法所在的类型
(2)由于构造方法返回值所在类型就是类本身,故返回值类型不需要编写,若编写返回值,就将变成普通方法
(3)当一个类中没有定义任何构造方法,系统默认提供一个无参数的构造方法,这个构造方法称为缺省构造器
(4)当一个类显示将构造方法定义出来,系统不再默认为这个类提供缺省构造器,建议开发中手动为当前类提供无参数的构造方法
(注:如果大家觉得不好理解,举个简单例子:

public class ConstructorTest01 {
   public static void main(String[] args){
           int i = sum(2, 3);
           /*若已定义了sum的求和函数,那么执行完等号右边的求和操作,
             再赋给左边的i,那么返回值就是数据类型为int的"i" */
             
           User u = new User();
           /*同理,User也可以看成一个类似于int的数据类型,当等号右边
             完成new对象操作后返回值类型就是数据类型为User的"u" */
    }
}

2、普通方法:
一般在定义方法的时候在Java语句中有体现,
例如:

  public static void doOther() {

        Customer c = new Customer();
        System.out.println(c.name);
    }

七、总结:
简单的说,这两种方法最根本的区别就是构造方法调用时需要创建对象,而普通方法调用时直接可以通过类名去调用。

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!