方法:
为了提高代码的复用性,可以将其定义称一个单独的功能
是由修饰符,返回值,方法名,参数列表,方法体五部分组成。
1*无参无返回值:
public class Test {
//无参无返回值
public static void main(String[] args) {
Test t=new Test();
t.show();
}
public void show(){
System.out.println("酷酷的亮是最帅的");
}
}
2*无参带返回值
public class Test {
//无参带返回值
public static void main(String[] args) {
Test t=new Test();
int sum=t.su();
System.out.println("两数之和为: "+sum);
}
public int su(){
int i=5;
int j=12;
int sum=i+j;
return sum;
}
}
3*有参无返回值
public class Test {
//有参数无返回值
public static void main(String[] args) {
Test t=new Test();
t.su(34,56);
}
public void su(int java,int html){
double avg=(java+html)/2.0;
System.out.println("平均分为: "+avg);
}
}
4*带参带返回值
import java.util.Arrays;
public class Test {
//有参数带返回值
public static void main(String[] args) {
Test t=new Test();
int[] scorse={79,53,98,81};
int count=t.sort(scorse);
System.out.println("共有"+count+"个成绩排名");
}
public int sort(int[] scorse){
Arrays.sort(scorse);
System.out.println(Arrays.toString(scorse));
return scorse.length;
}
}
//使用方法在同一个类中,要通过方法名进行调用。
//方法可以相互调用。
//在静态方法中调用外部方法,外部方法必须用static
//在静态方法中访问外部变量,也用static修饰
如果函数的返回值类型是void时,returan语句可以省略不写。
return的作用:结束函数。结束功能。
java中进行函数调用中传递参数时,遵循传递的原则;
基本类型数据传递的是该数据值本身。引用类型传递的是对对象的引用,而不是对象本身。’
方法的递归操作(斐波那契数列)
F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)
n>=2,n属于正整数;
求 F(5)的值?
方法的重载:
同一个类中包含了两个或两个以上 方法名相同,参数的个数 顺序或类型不同的方法,则称为方法的重载。
与方法的修饰符或返回值没有关系。
构造方法:
是定义在java中的一个用来初始化对象的方法,构造方法名与类名相同且没有返回值,
构造方法的重载: 方法名相同,但参数不同的多个方法;调用时会根据参数不同会调用相应的方法。
构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值。
所有对象创建时,都需要初始化才可以使用,具有针对性
构造器
默认构造器的特点:
*符合构造器的特点
*无参的
*无方法体
*一个类至少存在一个默认的构造器
*如果类A没有使用public修饰,则编译器创建的构造器也没有public修饰。使用了public修饰,则编译器创建的构造器也是使用public修饰
创建一个对象都在内存中做了什事情?
Person p=new Person();
1,先将硬盘上指定位置的Person.class文件加载进内存。
2,执行main方法,在栈内存中开辟了mian方法的空间(压栈-进栈),然后在main方法的栈区分配一个变量p
3,在堆区内层中开辟一个实体空间,分配了一个内存首地址值 new
4,在该实体空间中进行属性的空间分配,并进行了默认初始化
5,对空间中的属性进行显示初始化。
6,进行实体的构造代码块初始化,
7,调用该实体对应的构造函数,进行构造函数初始化。
8,将首地址赋值给p,p变量就引用了该实体。(指向了该对象)