Java-方法
Java 方法
-
方法的命名规则
- 可以包含数字,必须以字母、'_'、'$'开头
-
方法的定义
修饰符 返回值类型 方法名(参数类型 参数名) {
...
方法体
...
return 返回值
}-
修饰符:可选,定义方法的访问类型,告诉编译器如何调用该方法
-
返回值类型:没有返回值时,关键字为
void
-
方法名:方法的实际名称,方法名与参数表共同构成方法签名
-
参数类型:参数列表是指方法的参数类型,顺序和参数个数
-
包含具体语句,定义方法功能
public static int age(int birthday) {...}
-
-
方法调用
-
当方法返回一个值时,方法调用通常被当做一个值
int large = max(30, 40);
-
方法返回值是
void
,方法调用一定是一条语句System.out.println("Hello world");
-
方法定义及调用实例
public class TestMax { //主方法 public static void main(String[] args) { int i = 5; int j = 2; int k = max(i, j); System.out.println(i + "和" + j + "比较,最大值是:" + k); } //返回两个整数变量较大值 public static int max(int num1,int num2) { int result; if (num1 > num2) result = num1; else result = num2; } }
-
-
方法的重载:一个类的两个方法拥有相同的名字,但是有不同的参数列表;Java编译器根据方法签名判断哪个方法应该被调用;重载方法必须拥有不同的参数列表
-
命令行参数的使用
public class CommandLine { public static void main(String args[]) { for(int i = 0; i < args.length; i++) { System.out.println("args[" + i + "]:" + args[i]); } } } // 运行命令 // javac CommandLine.java // java CommandLine this is a command line 200 -100
-
构造方法
当一个对象被创建时,构造方法用来初始化该对象你。构造方法和他所在的类的名字相同,但构造方法没有返回值。通常会使用构造方法给一个类的实例变量赋初值,或者执行其他必要的步骤来创建一个完整的对象。不管与否自定义构造方法,因为Java自动提供了一个默认构造方法,它把所有成员初始化为0.一旦自定义了构造方法,默认构造方法就会失效class MyClass { int x; // 构造函数 MyClass() { x = 10; } } // 调用构造方法初始化一个对象 public class ConsDemo { public static void main(String args[]) { MyClass t1 = new MyClass(); MyClass t2 = new MyClass(); System.out.println(t1.x + " " + t2.x); } } // 有参数的构造方法 class MyClass { int x; // 构造方法 MyClass(int i) { x = 1; } } // 调用构造方法初始化一个对象 public class ConsDemo { public static void main(String args[]) { MyClass t1 = new MyClass(10); MyClass t2 = new MyClass(20); System.out.println(t1.x + " " + t2.x); } }
-
可变参数
typename... parameterName
只能有一个可变参数,切必须是最后一个参数;普通参数必须在其之前声明public class VaragsDemo { public static void main(String args[]) { //调用可变参数方法 printMax(34, 3, 3, 2, 56.5); printMax(new double[] {1, 2, 3}); } public static void printMax(double... number) { if (numbers.length == 0) { System.out.println("No argument passed"); return; } double result = numbers[0]; for (int i = 1; i < numbers.length; i++) { if (numbers[i] > result) { result = numbers[i]; } } System.out.println("The max value is" + result); } }
-
finalize()
方法,它在对象被垃圾收集器析构(回收)之前调用,用来清除回收对象public class FinalizationDemo { public static void main(String[] args) { Cake c1 = new Cake(1); Cake c2 = new Cake(2); Cake c3 = new Cake(3); c2 = c3 =null; System.gc();//调用Java垃圾收集器 } } class Cake extends Object { private int id; public Cake(int id) { this.id = id; System.out.println("Cake Object" + id + "is created"); } protected void finalize() throws java.lang.Thrawable { super.finalize(); System.out.println("Cake Object" + id + "is diaposed") } }
春天的雨,夏天的风,只为更好的自己和最爱的你!