Java方法
1. 方法格式
访问权限【修饰符】 返回值类型 方法名(【参数列表】){
}
1. 控制访问权限的控制
public protected 默认的 private 这四个主要控制方法是否能在其他类中被引用。
2. 【修饰符】
final static synchronized: 如果一个方法没有static修饰词,是能使用“存储对象的变量.方法名();”;否则,“类名.方法名();”;或者“储存对象的变量.方法名();”
3. 返回值类型
a.如果方法没有返回值,则返回值类型为void;
b.如果返回值为基本数据类型,则返回为基本数据类型或长度比当前返回值类型大的数据类型
c.如果返回值是引用类型,则方法发放返回值类型要么与数据类型一致,要么是数据类型的父类
package sirius;
public class Test {
private static String doHomework() {
String age = "name";
return age;
}
}
4. 方法名
首先符合java的标识符的命名规范,动词或动宾结构
参数列表 :可有可无,多个参数之间有逗号隔开;动态参数“数据类型…参数名”,动态参数实质是一个数组
5. 方法的重载
package sirius;
public class Computer {
public int add(int a, int b) {
return a+b;
}
//重载:重复负载,方法名相同,参数列表不同(个数不同或者参数类型不同,不考虑参数名)
public int add(int a, int b, int c) {
return a+b+c;
}
public double add(double a, double b,double c) {
return a+b+c;
}
public double add(double a, double b) {
return a+b;
}
//重载导致方法名相同,调用一个方法到底用哪个方法?
public static void main(String[] args) {
Computer c = new Computer();
int result = c.add(1,2,3);
System.out.println(result);
double summary = c.add(1, 2);
System.out.println(summary);
//Computer = new Computer();
double sum = c.add(1.0,4,6);
System.out.println(sum);
}
}
方法的具体调用哪种方法,是取决于给定变量的个数,以及数据类型来调用具体哪一种方法。
this关键字
package sirius;
public class Student {
public void test() {
System.out.println("test方法:"+this);//this是一个代词,哪一个对象调用该方法,this就是谁
}
public static void main(String[] args) {
Student student = new Student();
student.test();
System.out.println("main方法:"+student);
}
}