Java

作者: 刘姣_5035 | 来源:发表于2018-07-02 11:10 被阅读0次

JVM

JVM,Java Virtual Machine(Java虚拟机)是可运行Java代码的假想计算机 。JVM是运行在操作系统之上的,它与硬件没有直接的交互。

  • Java源文件,通过编译器,能够生产相应的.Class文件,也就是字节码文件,而字节码文件又通过Java虚拟机中的解释器,编译成特定机器上的机器码

main

main()方法是Java应用程序的入口方法,程序在运行的时候,第一个执行的方法就是main()方法.

  • 方法名字必须是main,方法必须是public static void 类型,方法必须接收一个字符串数组的参数。
  • 类中有main()方法,说明这是个java应用程序。通过JVM直接启动运行的程序.
  • 由于JVM在运行这个Java应用程序的时候,首先会调用main方法,调用时不实例化这个类的对象,而是通过类名.main()直接调用,因此需要是限制为public static,对于java中的main方法,jvm有限制,不能有返回值,因此返回值类型为void。
    main方法中还有一个输入参数,类型为String[],这个也是java的规范,main()方法中必须有一个入参,类型必须String[],至于字符串数组的名字,这个是可以自己设定的,根据习惯,这个字符串数组的名字一般和sun java规范范例中mian参数名保持一致,取名为args。因此,main()方法定义必须是:“public static void main(String 字符串数组参数名[])”。
  • main()方法中可以throw Exception.
  • main()方法中字符串参数数组作用是接收命令行输入参数的,命令行的参数之间用空格隔开
  • static代码块的内容会在main调用前调用

static

1.修饰成员属性

修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享.

2.修饰成员方法

  • 相比于修饰成员属性,修饰成员方法对于数据的存储上面并没有多大的变化,因为方法本来就是存放在类的定义当中的。static修饰成员方法最大的作用,就是可以使用"类名.方法名"的方式操作方法,避免了先要new出对象的繁琐和资源消耗.
  • 一个static修饰的方法,不能使用非static修饰的成员变量和方法,因为static修饰的方法是属于类的,如果去直接使用对象的成员变量,它会不知该使用哪一个对象的属性.

3.静态块

  • 在创建对象时,static修饰的成员会首先被初始化,如果有多个static修饰的成员,那么会按照他们的先后位置进行初始化。
  • 当没有创建对象,而是通过类去调用类方法时,尽管该方法没有使用到任何的类成员,static类成员还是在方法调用之前就初始化了,这说明,当我们第一次去使用一个类时,就会触发该类的static成员初始化。
  • 静态块在类加载的时候就执行,这就说明静态块在new对象之前就会执行,而且一个类在第一次被使用的时候会被加载,然后在整个应用程序的生命周期当中不会再次被加载了,就加载这一次,所以静态块就执行一次,不会执行第二遍!
  • 当初始化static修饰的成员时,可以将他们统一放在一个以static开始,用花括号包裹起来的块状语句中.

4.静态导包

  • 导入包时,使用static关键字,而且在引入类的最后还加上了“.*”,它的作用就是将类中的所有类方法直接导入。不同于非static导入,采用static导入包后,在不与当前类的方法名冲突的情况下,无需使用“类名.方法名”的方法去调用类方法了,直接可以采用"方法名"去调用类方法,就好像是该类自己的方法一样使用即可。

相关文章

  • Java(JavaEE)学习线路图1

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • Java学习线路图

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 大数据学习线路图

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 大数据学习教程

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 一篇文章,全面解读Android面试知识点

    Java Java基础 Java集合框架 Java集合——ArrayList Java集合——LinkedList...

  • java学习路线

    javaSE java基础语法 java文件操作 java网络操作 java多线程 java数据库操作 java ...

  • java编程分类

    一、java简介java开发环境配置java基础语法java对象与类java基本数据类型java变量类型java修...

  • Java-01初识Java

    Java的3大版本 Java有三大版本,Java SE, Java ME, Java EE Java SE(Jav...

  • JAVA循环语句(四)9.29

    Java条件 if Java条件if...else Java条件多重if Java条件语句 嵌套if Java条件...

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

网友评论

      本文标题:Java

      本文链接:https://www.haomeiwen.com/subject/cpvkuftx.html