• 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)方法与方法之间的调用

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

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

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

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

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

    • 非静态方法内部调用

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

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

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

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

    二、遇到问题

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

    三、明日学习

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

  • 相关阅读:
    shell Builtin variables(shell内建变量)
    [置顶] 九度笔记之 1434:今年暑假不AC
    OpenRisc-45-or1200的ID模块分析
    hdu1556 Color the ball
    PB C/S轉B/S ODBC方式連接數據庫
    Django的安装配置和开发
    通过一个月时间字段分组
    如何加入该网站for Linux(绑定域名)
    LeetCode 36 Sudoku Solver
    POJ 1986 Distance Queries LCA两点距离树
  • 原文地址:https://www.cnblogs.com/znjy/p/13296728.html
Copyright © 2020-2023  润新知