普通方法和静态方法
静态方法中,只能直接调用静态属性和静态方法,不能直接调用普通方法和普通属性,因为静态方法和静态属性加载在对象之前
普通方法依赖于对象,对于普通方法的调用,必须通过对象.的方式调用 静态方法不需要依赖于对象,对于静态方法的调用,对象.和类名.都可以调用
方法调用栈
当一个方法被调用时,将导致控制流程跳转到被调用方法,执行方法中的语句,当前正在执行的方法位于调用栈的顶部
当方法执行完成后,从调用栈的顶部移除 控制流程返回栈中的前一个方法
在引用方法中,传入和返回对象,传入和返回的是对象的引用,在java中都是值传递
方法的重载
方法的重载发生在同一个类中两个方法的方法名相同,参数列表不同(类型 个数 顺序),和方法参数名,以及方法返回类型无关,调用方法时,根据实参决定哪个重载方法
在调用方法时 如果一个实参同时匹配多个重载方法,优点调用类型更小的重载方法
this
this表示当前对象,在方法中使用this,表示访问该对象的属性或方法
this()表示在一个构造方法中,调用另一个构造方法,this()只能放在构造方法的第一句
构造方法
构造方法的方法名和类名相同,而且没有返回类型
(void是返回类型,只是没有返回值)构造方法用于产生对象
构造方法的作用
1.为对象分配空间
2.如果该类没有加载,则加载类
3.初始化普通属性
4.返回对象的引用
如果一个类没有定义构造方法,编译器会自动分配一个无参构造方法,但是,如果一个类定义了构造方法,那么默认的无参构造方法会消失