对象的行为

一.方法调用栈
1.main()总是第一个被调用,所以她总是在调用栈的底部。正在执行的方法会在栈的顶部,直到方法执行完成。
2.当一个方法正在执行时,会发生三种情况:
①方法返回一个值。在这种情况下,一个基本数据类型或引用类型被传回给方法的调用者。
②方法不返回一个值。在这种情况下,返回值被声明为void。
③方法抛出一个异常给方法的调用者。
在三种情况下,控制流程都会跳转给方法的调用者。
3.在Java中,没有声明为静态(static)的方法只能在累的实例中调用。如果想编写一个不需要实例化一个类、可以被任何时候任何人调用全局的方法,我们使用静态方法。

二.方法的签名
main方法签名的例子:
public static void main(String[] args)
普通方法签名包括:
1.访问修饰符。
2.可选修饰符(static final abstract native synchronized)
3.返回值
4.方法名
5.形式参数列表
例子:
public float divide(int x,float f)

三.形式参数列表和实际参数列表
形式参数列表用于声明传递到方法中的数据的类型。传递给形式参数列表的数据成为实际参数列表。当方法调用时,实际参数列表必须传递给形式参数列表中的每个形式参数。

四.按值调用
当实际参数传递给形式参数时,实际参数的数据被复制给形式参数。在编程中,在方法调用之间复制数据的过程称为按值调用。
工作原理:
不管传递给方法的实际参数时什么类型,相关的形式参数都会得到该数据的一份拷贝。

五.方法的重载
当一个类中有两个或多个方法名相同,形式参数列表不同。
例子:
public void println(int x)
public void println(Sting x)

六.构造器
1.构造器的作用:
当对象实例化时,初始化对象中的成员变量。
构造器
①构造器的名称必须与类名相同。
②构造器不能声明返回值,也不能反悔void。
2.我们在编写一个类的时候,类中没有添加构造器,编译器会给类添加一个默认的无参构造器,使用public修饰的。
3.当一个对象使用关键字new实例化时,构造器就被调用了,一个类可以有多个构造器,取决于new运算符所用的实际参数。

七.在构造器中使用this
this可以用来调用本类中的其他构造器,但是this语句必须在本构造器的第一行。
例子:
public class Television{
public int channel;
public int volume;
public Television(){
this(4,10);
System.out.println("在无参数的构造器内");
}
public Television(int c){
this(c,10);
System.out.println("在有一个参数的构造器内");
}
public Television(int c,int v){
System.out.println("在有两个参数的构造器内");
channel=c;
volume=v;
}
}

总结:
1.在Java中,方法必须出现在类,方法的签名描述方法的名称、访问修饰符、返回值、要传递给方法的形式参数以及方法可能会抛出的任何可检查异常。
2.在Java中,实际参数通过按值调用的方法传递给方法,即实际参数的一份拷贝传给方法。
3.方法可以被重载,允许类有多个同名的方法,同时形式参数列表不同的。
4.每个类至少有一个构造器,构造器是一个类实例化是被调用的特殊类型的方法。构造器的名称必须与类名想匹配,并且没有返回值。
5.如果一个类没有声明构造器,编译器将为该类添加一个默认的无参构造器,不做任何事情。
6.一个构造器可以使用this()语句来调用同类中的其他构造器,但是this()语句必须是构造器的第一条语句。

原文地址:https://www.cnblogs.com/perfect-l/p/4449105.html