zoukankan      html  css  js  c++  java
  • Java-方法

    Java 方法

    • 方法的命名规则

      1. 可以包含数字,必须以字母、'_'、'$'开头
    • 方法的定义
      修饰符 返回值类型 方法名(参数类型 参数名) {
      ...
      方法体
      ...
      return 返回值
      }

      1. 修饰符:可选,定义方法的访问类型,告诉编译器如何调用该方法

      2. 返回值类型:没有返回值时,关键字为void

      3. 方法名:方法的实际名称,方法名与参数表共同构成方法签名

      4. 参数类型:参数列表是指方法的参数类型,顺序和参数个数

      5. 包含具体语句,定义方法功能

         public static int age(int birthday) {...}
        
    • 方法调用

      1. 当方法返回一个值时,方法调用通常被当做一个值

         int large = max(30, 40);
        
      2. 方法返回值是void,方法调用一定是一条语句

         System.out.println("Hello world");
        
      3. 方法定义及调用实例

                     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")
        	}
        }
  • 相关阅读:
    Beta 冲刺(1/7)
    福大软工 · BETA 版冲刺前准备(团队)
    福大软工 · 第十一次作业
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    个人作业——软件工程实践总结作业
    Beta 答辩总结
    Beta 冲刺 (7/7)
    Beta 冲刺 (6/7)
  • 原文地址:https://www.cnblogs.com/yfife/p/7384509.html
Copyright © 2011-2022 走看看