java基础-java类中的代码运行顺序

问题描述

java类中的代码运行顺序
下面列子:
public class A{
private List list=new ArrayList();
public static void main(string[] args){
A a=new A();

}

}
问 :1,该类什么时候被编译?什么时候被加载?
2,在运行该类的时候list 对象是在main函数执行过才有的么?还是说在加载的时候就已经被创建了?
3,如果其中有静态代码块,那么静态代码块在类加载的时候就被执行了么?也就是说在main函数执行之前就执行了对么?

解决方案

参考下:http://blog.csdn.net/tongyi55555/article/details/46627415

解决方案二:
你要什么时候编译这个类,它就什么时候编译。想运行,就得先编译。
类是在运行的时候用到再加载。如果之前已加载,就不会二次加载。
list属于成员变量,将来是随着new出对象的时候分配在堆内存中。所以类加载的时候没有list的。
static语句快是在随着类加载的时候运行一次,后面不会在运行,是在main函数之前运行的。

时间: 2024-09-14 02:56:00

java基础-java类中的代码运行顺序的相关文章

Java动态调用类中方法代码_java

在Java中,调用类的方法有两种方式:对于静态方法可以直接使用类名调用,对于非静态方法必须使用类的对象调用.反射机制提供了比较另类的调用方式,可以根据需要指定要调用的方法,而不必在编程时确定.调用的方法不仅限于public的,还可以是private的.编写程序,使用反射机制调用Math类的静态方法sin()和非静态方法equals(). 思路如下:使用Math.class.getDeclaredMethod("sin", Double.TYPE);访问指定的方法,其中"sin

java数据流DataInputstream类中的方法readBoolean()的作用是什么?

问题描述 java数据流DataInputstream类中的方法readBoolean()的作用是什么? 书上说readBoolean()的作用是读取一个布尔值,但是具体是 根据什么得到布尔值的?这个布尔值可以用于什么操作?跪求指点! 解决方案 从输入流读取,如果是0,就是false,否则就是true,bool值可以用来做逻辑判断. 解决方案二: 你写进去的时候的那个值,但需要顺序读取,写入时,第一个如果是int,那就读取时就要readInt,类似这样 解决方案三: JAVA中String类的i

关于java的swing类中的顶层容器

问题描述 关于java的swing类中的顶层容器 在java中 顶层容器类可不可以包含在其他容器中 比如说JDialog类是顶层容器类这个可不可以放在其他容器中?那JApplet类呢? 解决方案 Swing提供3种顶层容器类:JFrame,JDialog,JApplet.所以,JApplet也是不可以放在其他容器中的.

教你在Java的普通类中轻松获取Session以及request中保存的值

  曾经有多少人因为不知如何在业务类中获取自己在Action或页面上保存在Session中值,当然也包括我,但是本人已经学到一种办法可以解决这个问题,来分享下,希望对你有多多少少的帮助!   如何在Java的普通类中获取Session以及request对象 详细回答请见:http://www.zhangriguang.cn/blog/20121010123838.html

java基础-java读取数据库中图片的地址,然后再显示在jLabel框中,但是运行后没有加载图片

问题描述 java读取数据库中图片的地址,然后再显示在jLabel框中,但是运行后没有加载图片 我是通过新建函数来访问数据库的 public void getData(String medname){ String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; String url="jdbc:sqlserver://localhost:1433;DatabaseName=account"; Strin

Java基础知识—类的深层结构

在Java中,可以在同一个类中定义两个或多个共享相同名称的方法,只要它们的参数声明不同就可以.当出现这种情况时,这些方法就被称为重载(overloaded),并且这一过程被称为方法重载(method overloading).方法重载也是Java支持多态性的方式之一. 当调用重载方法时,Java所使用参数的类型和/或数量决定了实际调用是哪个版本的方法.因此,重载方法在参数的类型和/或数量方法必须有所区别.虽然重载方法可以返回不同的类型,但是单靠返回类型不足以区分方法的多个版本.当Java遇到对重

java基础-Java基础 canvas中加载图片问题

问题描述 Java基础 canvas中加载图片问题 public class GameCanvas extends Canvas implements Runnable{ boolean PaintState=true; Image soccerImage; public GameCanvas(){ try { soccerImage=ImageIO.read(new File(""/image/soccer.jpg""));} catch (IOException

【java】实体类中 按照特定的字段 进行升序/降序 排序

背景:   实际页面上  所有的分值都是按照JSON格式存储在一个字符串中 存储在同一个字段中: {"ownPTotal":"10>0","ownOTotal":"8>0","ownTotal1":"18","ownTotal2":"80","ownTotal3":"20","ownTo

java基础关于类的问题

问题描述 我现在刚刚学java,关于类的问题看了很多书还不是很明白,能不能请哪位高手告诉我一下,最好附加一个程序,给我分析一下这个程序的编写过程,谢谢了!!!!! 解决方案 解决方案二:类的那些问题不明白??解决方案三:问具体的问题嘛!解决方案四:程序呢??解决方案五:publicclassPerson{//人类Stringname;//属性(人类的名字)intage;//属性(人类的年龄)//构造方法publicPerson(Stringname,intage){//想创造一个人类(对象)的话