java 类 及其 执行过程

java 类 命名

java类文件中  只能有一个公开类  且 公开类类名与当前类文件的文件名一致

方法如果使用了static修饰,那么此方法是类方法,可以 类名.方法名 使用。

你的main方法在同一个类中,那么不需要写类名,直接写方法名就可以调用。

而没有使用static修饰的方法属于实例方法,必须创建此类的对象,通过对象调用此方法。如:

Func2 f = new Func2();

f.shuchu(4,4);

public class HelloWorld{
    /**
    *  main方法作为程序的入口,JVM就是去调用main方法的
    *  @param 从调用环境中传递给main方法的参数
    */
    public static void main(String [] args){
        // java中每个语句结束之后,必须要加上;
        System.out.println("HelloWorld程序");
        // java中严格的区分大小写
        System.out.println("每个语句后面都要有;");

        if(true){
            if(true){
                if(true){
                    if(true){
                        if(true){

                        }
                    }
                }
            }
        }
    }

    /**
    * 返回两个数的和
    * @param num1 加数
    * @param num2 被加数
    * @return 两个数相加的和
    */
    public static int add(int num1,int num2){
        return num1 + num2;
    }
}

java 类 及其 执行过程

时间: 08-04

java 类 及其 执行过程的相关文章

JAVA编译和执行过程

Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制 类加载机制 类执行机制 Java源码编译机制 Java 源码编译由以下三个过程组成: 分析和输入到符号表 注解处理 语义分析和生成class文件 流程图如下所示: 最后生成的class文件由以下部分组成: 结构信息.包括class文件格式版本号及各部分的数量与大小的信息 元数据.对应于Ja

一个Java程序的执行过程(转)

我们手工执行java程序是这样的: 1.在记事本中或者是UE的文本编辑器中,写好源程序: 2.使用javac命令把源程序编译成.class文件: 编译后的.class(类字节码)文件中会包含以下内容: ConstantPool:符号表: FieldInfo:类中的成员变量信息: MethodInfo:类中的方法描述: Attribute:可选的附加节点. FieldInfo节点包含成员变量的名称,诸如public,private,static等的标志.ConstantValue属性用来存储静态的

java类的初始化过程

转自http://blog.csdn.net/monghuan/article/details/7404670 一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化. 一.类加载时,变量的初始化顺序:  1.首先,给静态成员变量分配内存空间,进行默认初始化   (整型为0,浮点型为0.0,布尔型为false,字符型为'\u0000',引用型为null)     2.其次,执行静态成员变量的初始化操作   --静态成员的初始

Java类的装载过程和静态代码块

在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载.连接和初始化,其中连接又可以分成校验.准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的,各个步骤的主要工作如下:1.装载2.连接3.初始化 一.装载阶段 装载阶段由三个基本动作组成1.通过类型的完全限定名,产生一个代表该类型的二进制数据流2.解析这个二进制数据流为方法区内的内部数据结3.构创建一个表示该类型的java.lang.Class类的实例 另外如果一个类装载器在预先装载的时遇到缺失或错误的class文

类的执行过程

一.类的加载 加载器继承关系图 根加载器 ,底层是操作系统 扩展加载器, 底层是java代码 二. 类的连接 1.验证   确保类的正确性 .class文件结构检查 语义检查 比如final修饰的类,不允许有子类 字节码验证 确保字节码流被JVM可以顺利执行 二进制兼容的验证 2.准备   把类中所有由static修饰的内容,开辟空间,然后赋予默认值 比如说我们Student类中有一个static int age=20; 会根据数据类型 先开辟空间 int类型会开辟4个字节 赋初始值age=0:

java类实例化内存过程与面向对象特征

在谈到类实例化的内存过程时先说说几个概念: 对象:内存上来说是分配在堆上面的一块内存区域 类:把一类具体事物相同特征,功能/行为抽象为属性与方法过程. 类是对象的模板,对象是类的具体表现. 构造函数:与类名同名的函数,用来实例化对象并初始化成员变量. 注意:构造器.构造函数不能称为构造方法. 类的结构: 静态块:当对应的class文件被首次加载到虚拟机时执行. 代码块 构造函数 静态属性与变量首先加载.其次时静态块,之后是代码块,最后是构造函数. 具体过程: 当一个类被创建(A a=new A(

Java类的初始化过程及清理

一.类的数据成员初始化 Java中类的数据成员初试化可能有两种形式. 在定义类成员变量的地方直接提供初始化值(这是C++中不允许的) 在构造器中初试化.(Java中不存在类似C++中的初始化列表) 两者的区别是,第一种方式是数据成员直接初试化为提供的初始化值,而在构造器中初始化,其实在数据成员已经初试化为默认值(比如基本类型如int 初始化为0,引用类型初试为null,其实在在构造器已经不能称为初始化了,应该是赋值) 初始化顺序 如果有静态变量则先初始化静态变量,如果基类中也有静态变量且之前没有

Java类的执行顺序、final的用法

类的初始化顺序 1.静态变量 2.静态代码块 3.main方法 4.类的属性 5.代码块 6.构造方法 如果有父类则是 1.父类–静态变量 2.父类–静态代码块 3.子类–静态变量 4.子类–静态代码块 5.父类–属性 6.父类–代码块 7.父类–构造方法 8.子类–属性 9.子类–代码块 10.子类–构造方法 注意: 1.如果Test类有静态代码块或静态属性,只有Test类所有静态变量与静态代码块都已经装载结束,才开始执行main()方法体 2.静态代码段只在类第一次加载时才执行 final:

java类的执行顺序

1. static静态代码块 2.{} 3.构造方法 4. 子类main方法运行时: static静态代码块 5.子类构造方法调用时: static静态代码块 {} 构造方法 6.子类new两次对象 父类: package com.xuzhiwen.protect; public class FatherTest { static{ System.out.println("FatherTest ....static"); } public FatherTest(){ System.ou