Java学习——day8

一、今日学习

1.Java程序执行过程分析

(1)程序按照从上到下的顺序执行,若在方法内部调用其他方法,则会跳到该方法中由上到下顺序执行

(2)JVM执行Java程序

  • 编译:虚拟机根据Java语言规则进行分析,以及变量常量的提取等,依据class文件格式将程序转化为字节码文件,即javac命令的结果。

  • 运行:运行JVM字节码的工作是由解释器(Java命令)来完成的。


2.方法的分类

(1)类方法

  • 也称为静态方法,用static关键字修饰

  • 类方法只能操作静态变量,不能访问实例变量

  • 类方法可以在类中被调用,不必创建实例来调用,也可以通过对象调用

(2)实例方法

可以对当前的实例变量操作,可以访问类变量

(3)构造方法

  • 构造方法又称为构造器,和类名同名,不能有返回值,方法名字大小写必须与类名保持一致。

  • 作用:创建对象

  • 格式:修饰符 构造方法(){ }

  • 如果不写构造方法,Java会自动创建一个无参的构造方法

  • 构造方法既可以有参数也可以无参数

1 public class Study{
2     public Study(){
3     }
4     public static void main(String[] args) {
5     }
6 }
1 public class Study{
2     public Study(int x){
3     }
4     public static void main(String[] args) {
5     }
6 }

3 自定义方法

(1)格式:访问修饰符 返回类型 方法名(参数列表){}

(2)分类:

  • 在方法声明的类定义中调用该方法——方法名(参数列表)

  • 在方法生命的类定义外部调用该方法——对象名.方法名(参数列表)

(3)修饰符——修饰范围

  • public:访问权限最高,可以在本工程任意地方访问

  • protected:可以访问同一包中的类以及子类

  • 缺省:默认,什么都不写,只能访问同一个包中的类,不能访问其他类

  • private:只能在本类当中访问

(4)返回值:

  • 若有返回值,则方法体中必须包含一个return语句指定返回值

  • 方法返回类型用于指定由该方法计算和返回值的类型,可以是任何值类型或引用类型数据

  • 返回值类型:void、基本类型和类类型

(5)方法名:方法名首字母小写,其余单词首字母大写,符合命名规范

(6)带static关键字的方法

  • 又称为静态方法,通过类名调用,不需要创建类的实例来调用

  • 例:public static void ti(){}

(7)带final修饰的关键字 

  • 表明方法不能被重载,也不能被覆盖

  • 例:public final void t2(){}

final和static可以同时修饰方法,并且顺序可以相互调换


4.方法重载

(1)方法的重载:指的是在一个类当中,方法名相同,方法的参数不同

(2)参数不同:参数的类型不同或个数不同  //与方法的返回值无关

1 public int add(int x,int y){
2       return x+y;
3 }
4 public int add(int x,int y,int z){
5       return x+y+z;
6 }

(3)作用:参数有多种表现形式,名称不一样,功能却相同


5.方法的调用

(1)非静态方法——对象名.方法()

(2)调用静态方法——类名.方法()

(3)方法与方法之间的调用

  • 静态方法内部调用其他方法

在本类中,静态方法可以直接调用静态方法

在本类中,调用非静态方法,需要通过对象来调用

在不同类中,静态方法调用其他类中的静态方法,需要通过类名.静态方法()来调用

在不同类中,静态方法调用其他类中的非静态方法,需要导入该类中的包,以及通过创建对象调用

  • 非静态方法内部调用

在本类中,非静态方法可以直接调用静态方法

在本类中,非静态方法可以直接调用非静态方法

在不同类中,非静态方法调用其他类中的静态方法,需要导入该类中的包,通过类名.静态方法()来调用

在不同类中,非静态方法调用其他类中的静态方法,需要导入该类中的包,通过创建对象来调用

二、遇到问题

 要理解类方法、实例方法、构造方法的调用规则,熟练掌握方法之间的调用。

三、明日学习

 方法参数及其传递问题,方法递归,类的属性等

原文地址:https://www.cnblogs.com/znjy/p/13296728.html