方法
方法的定义:方法是一段可重复调用的代码段,类似于函数
定义格式:
方法可以有返回值,如果返回值类型为void,则没有返回类型,不能使用return
方法命名规范:第一个单词小写 第二个单词首字母大写
有返回值的方法实例:
public class MethoDemo{ public static void main(String args[]){ int one = addOne(10,20) ; // 调用整型的加法操作 float two = addTwo(10.3f,13.3f) ; // 调用浮点数的加法操作 System.out.println("addOne的计算结果:" + one) ; System.out.println("addTwo的计算结果:" + two) ; } // 定义方法,完成两个数字的相加操作,方法返回一个int型数据 public static int addOne(int x,int y){ int temp = 0 ; // 方法中的参数,是局部变量 temp = x + y ; // 执行加法计算 return temp ; // 返回计算结果 } // 定义方法,完成两个数字的相加操作,方法的返回值是一个float型数据 public static float addTwo(float x,float y){ float temp = 0 ; // 方法中的参数,是局部变量 temp = x + y ; // 执行加法操作 return temp ; // 返回计算结果 } };
public class MethoDemo03{ public static void main(String args[]){ int one = add(10,20) ; // 调用整型的加法操作 float two = add(10.3f,13.3f) ; // 调用浮点数的加法操作 int three = add(10,20,30) ; // 调用有三个参数的加法操作 System.out.println("add(int x,int y)的计算结果:" + one) ; System.out.println("add(float x,float y)的计算结果:" + two) ; System.out.println("(int x,int y,int z)的计算结果:" + three) ; } // 定义方法,完成两个数字的相加操作,方法返回一个int型数据 public static int add(int x,int y){ int temp = 0 ; // 方法中的参数,是局部变量 temp = x + y ; // 执行加法计算 return temp ; // 返回计算结果 } public static int add(int x,int y,int z){ int temp = 0 ; // 方法中的参数,是局部变量 temp = x + y + z ; // 执行加法计算 return temp ; // 返回计算结果 } // 定义方法,完成两个数字的相加操作,方法的返回值是一个float型数据 public static float add(float x,float y){ float temp = 0 ; // 方法中的参数,是局部变量 temp = x + y ; // 执行加法操作 return temp ; // 返回计算结果 } };
方法的重载一定是根据参数的类型或数量来判断的,而不是返回值的类型
return可以返回参数也可以结束方法的调用
public class MethoDemo06{ public static void main(String args[]){ System.out.println("计算结果:" + sum(100)) ; // 调用操作 } public static int sum(int num){ // 定义方法用于求和操作 if(num==1){ // 判断是否是加到了最后一个数 return 1 ; }else{ return num + sum(num-1) ; // 递归调用 //相当于100+sum(99)+sum(98)+.....+sum(1) } } };
只要一有对象实例化就会调用构造方法
构造方法的定义格式
*构造方法名称必须和类名称一致
*构造方法的声明处不能有任何返回值类型的声明
*不能在构造方法中用return返回一个值
class Person{ public Person(){ // 声明构造方法 System.out.println("一个新的Person对象产生。") ; } }; public class ConsDemo01{ public static void main(String args[]){ System.out.println("声明对象:Person per = null ;") ; Person per = null ; // 声明对象时并不去调用构造方法 System.out.println("实例化对象:per = new Person() ;") ; per = new Person() ;//实例化对象 } };
类似于以下形式:
class Person{
public Person(){
}
}
构造方法的主要目的是为类中的属性初始化
匿名对象
如果在Java中对象只使用了一次,则可以用匿名对象,意思就是比之前的对象少了一个栈内存的引用关系,为只开辟了堆内存的实例对象
class Person{ private String name ; private int age ; public Person(String n,int a){ // 声明构造方法,为类中的属性初始化 this.setName(n) ; this.setAge(a) ; } public void setName(String n){ name = n ; } public void setAge(int a){ if(a>0&&a<150){ age = a ; } } public String getName(){ return name ; } public int getAge(){ return age ; } public void tell(){ System.out.println("姓名:" + this.getName() + ";年龄:" + this.getAge()) ; } }; public class NonameDemo01{ public static void main(String args[]){ new Person("张三",30).tell() ; } };