标签:默认 style prot 有一个 产生 结构 bst ring 必须
方法调用栈
JVM内存模型有五大块:栈、堆、方法区、本地方法栈、程序计数器(PC寄存器)
我们执行的方法都是存放在栈里面的,栈是先进后出的队列结构,所以当前执行的方法永远存在于栈的顶部,main方法肯定在最底部
每一个方法被执行完后都会被移除,然后返回上一个执行方法,当一个方法执行时会有三种情况:
方法签名
public static void main(String[] args)
public:访问修饰符,Java里面有四种访问修饰符
static:可选修饰符,包括final、abstract和native,类的方法可以不使用这些修饰符也可以使用多个可选修饰符。访问修饰符和可选修饰符的编写顺序是可以调换的
void:返回值。签名必须有返回值的类型,要么是对象的引用,要么返回类型是基本数据类型;如果不返回则写void
main:方法名,遵循小驼峰
(String[] args)形参列表:每个方法后面必须有带括号的形参列表,调用方法时可以通过该方法的调用者传进来
形式参数和实际参数
一个方法的签名必须包括形参列表,而传给形参的数据就是实际参数,方法被调用时实际参数必须传递给形参列表中的每一个形参
按值调用
实际参数将数据复制给形参的调用方式即为按值调用,因为他们之间仅仅是数据之间的复制使用而已。如果我们要向在方法中改变实际参数的内容是不可能的,按值调用在方法中改变形参的值并不会改变实际参数。
切记:当我传递给方法的是一个很大的对象时,我们不是传入对象,而是传入对象的引入,这个引用在大多数情况下是32位,是引用被复制,不是大量数据被复制。
方法重载
方法重载是同一个类中相同的方法名有不同的形参列表的方法
public class Test( ){
public int add (int a,int b){
return a+b;
}
public double add(double a,double b){
return a+b;
}
}
在类Test中,方法add出现两次,但是其形参列表不一样;这就是方法重载,该操作简化了方法的编写和使用。
仅与形参个数、形参顺序以及形参类型有关
区别于重写,重载的方法行为不会改变,只是改变形参。特别说明,因为Java是单继承的语言,方法的重载也是为了解决继承过程中流失的复杂性。
构造器
即构造方法,通过new关键字调用,用来产生对象
没有任何返回类型,也没有void,且方法名必须和类名一致
如果我们没有写出构造方法,编译器会自动在源代码编译时产生,反之不会产生任何隐式构造器。
构造器产生对象步骤:
构造器分为有参构造(重载构造)和无参构造,无参构造器时隐式构造器;有参构造器需要给参数,它在吵闹声对象的同时完成给属性的赋值
构造器中this的用法:
public Test(){
system.out.println("在无参构造中");
}
public Test(int a){
this();
system.out.println("在有一个参数的有参构造中");
}
public Test(int a,int b){
this(a );
system.out.println("在有两个参数的有参构造中");
}
这里的this( )作用是调用其他的构造器,用于封装重写代码,this( )的使用必须在首行,否则编译不会通过
特别注意:构造器时通过new关键字产生对象的,所以调用构造器方法的时候必须有new关键字的参与,否则就不会产生对象,仅仅是调用该方法而已
标签:默认 style prot 有一个 产生 结构 bst ring 必须
原文地址:https://www.cnblogs.com/lloney0/p/10981268.html