今天的博客主题
基础篇 --》编程基础 --》Java方法
什么是Java方法
Java方法可以看做是一个语句的集合,在一起来指定的执行一个功能。
方法是解决一类问题的步骤的有序组合。
方法应该被包含在类或者对象当中。
方法在程序中被创建,可在其他地方被引用。
Java方法的优点
- 使程序变得简短清晰
- 有利于程序的维护
- 提高开发效率
- 提高代码的重用性
Java方法命名规则及语法
方法名的名字第一个字母应当小写,遵循驼峰命名法。避免使用连接符。例如:addUser
一般出现连接符的,在单元测试中会比较常见。例如:test_addUser
语法:
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
返回值类型 :方法会有返回值,返回值类型用来指定该方法返回的类型。有些方法执行所需的操作,但没有返回值。在这种情况下,返回值类型就可以定义关键字void,就不加return关键字了。
方法名:是方法的实际名称。方法名和参数表共同构成方法。
参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
方法体:方法体包含具体的语句,定义该方法的功能。
例:
//无参无返回值方法调用
public static void main(String[] args) {
test();
}
public static void test(){
System.out.println("这个方法没参数,没返回值");
}
输出:这个方法没参数,没返回值
//有参无返回值方法调用
public static void main(String[] args) {
test(123);
}
public static void test(int i){
System.out.println("这个方法有参数,没返回值。传到这个方法的参数是:" + i);
}
输出:这个方法有参数,没返回值。传到这个方法的参数是:123
//有参有返回值方法调用
public static void main(String[] args) {
int i = test(123);
System.out.println("test()方法返回的值是:" + i);
}
public static int test(int i) {
System.out.println("这个方法有参数,有返回值。传到这个方法的参数是:" + i);
i = 456;
return i;
}
输出:这个方法有参数,有返回值。传到这个方法的参数是:123
test()方法返回的值是:456
注意:方法之间调用一定要带上方法名后的小括号。
构造方法(构造器、构造函数)
构造方法主要用来创建类的实例化对象,可以完成创建实例化对象的初始化工作,声明格式:
语法:
访问修饰符 方法名[必须与类名完全一样](参数列表){...}
构造方法修饰词列表:public、proteced、private
类的构造方法和普通方法一样可以进行重载
构造方法具有的特点:
- 构造方法名称必须与类名一致,而类名必须与文件名一样,文件名首字母必须大写
- 构造方法不具有任何返回值类型,即没有返回值,关键字void也不能加入,加入后就不是构造方法了,就成了普通的方法了
- 任何类都有构造方法,如果没有显示的定义,则系统会为该类定义一个默认的构造器,这个构造器不含任何参数,如果显示的定义了构造器,系统就不会创建默认的不含参数的构造器了。
重写一个有参数的构造方法,这个时候一定要先写一个无参数的构造方法
否则会造成程序崩溃
小括号里面的为参数列表,(数据类型 变量名, 数据类型 变量名.....)
参数个数不限制
传参时不写数据类型,只写所对应数据类型的数据
示例:Student s2 = new Student("光头强", 79.6f, 45, "7889SS");
参数列表顺序不能乱,个数不能少
new是实例化一个对象的过程,就像复制一样,new后面调用的这个就是目标对象的构造方法
例:
public class A{
public String name;
//无参构造方法,这是系统默认的构造方法
//(默认的构造方法是无参的)
public A(){}
//有参构造方法
public A(String name){
//给本类属性赋值
//=前边的是本类里面的成员变量,后面的本构造方法的局部变量
this.name = name;
}
}
重写、重载
重写重载关键字都是对方法来使用的,重写一个方法或重载一个方法。
可以回顾下之前的关键字来描述重写重载的。
志不强者智不达