
正文
java获取静态代码 java static静态代码块
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Java静态方法获取所属类的信息
1、这是不可能的,static方法不隶属于任何类/对象,所以无从获取。static的内容由JVM统一管理,甚至都不在堆上.看了你的补充说明。如果是想知道本静态方法在哪个类被实现真的不可行,你的程序设计有错误。
2、静态方法不与特定实例关联,不能引用this,要得到当前类名,没有直接的办法。
3、不可以,A{ public static f()} B( A.f()};虚拟机里面只有当第一次装载A得时候才会去完成f()得初始化,可以理解为F()是A得一片内存区域内存放;要找到f()必须找到它的主人A才能完成调用。
4、静态方法是在类中使用staitc修饰的方法,在类定义的时候已经被装载和分配。静态方法为类所有,可以通过对象来使用,也可以通过类来使用。
5、基本上来说,普通方法是与对象相关的,而静态方法一般被当作工具,你只用他来做一件事,而这件事与类里其他的东西没有关系,你只为完成一个动作或只为获取一个结果。想想上面提到的parseInt就知道了。
6、SubClass sub = new SubClass(); 实例子类对象时,调用父类构造函数,这时注意,count又初始化了,因为count不是static的。所以不加静态时,count这时还为输出结果就为1个对象。
相关问答
Q1: java中静态代码块的作用跟用法
用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块(用处非常大)。
首先静态代码块static{...}是在类被装载的时候执行,且只执行一次;静态代码块是在内存中开辟的一块公共区域,类的多个实例共享的区域,任何该类的实例对该区域的操作都对所有所有该类的实例对该区域的操作都是生效的。
两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的.静态方法 (1)在Java里,可以定义一个不需要创建对象的方法,这种方法就是静态方法。
静态方法:需要在项目启动的时候就初始化,在不创建对象的情况下,这种代码是被动执行的(静态方法在类加载的时候就已经加载 可以用类名直接调用)。
执行结果是: in Super3)静态代码块(修饰没有名字的代码块):只被执行一次;初始化块在类被加载后首先被运行,不管类是否实例化,而且只执行这一次 作用:一般用来初始化一些复杂类型的静态变量。
如果一个类中有多个 static 代码块,JVM将会按顺序依次执行。需要注意的是,所有的static 代码块只能在JVM加载类时被执行一次。static 内部类 在 Java 中还支持用 static 修饰的内部类,称为静态内部类。
Q2: java中一段关于static代码
1、staticvoid go() { System.out.println(Welcome);} } publicclass Cal { publicstaticvoid main(String[] args) { Simple.go();} } 调用一个静态方法就是“类名.方法名”,静态方法的使用很简单如上所示。
2、Java静态代码块的用法:一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化。
3、static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。
4、static{}静态代码块会优先加载到内存中的静态池中,而且只加载一次。如果不加static就{}是代码块,想要使用必须每次new HibernateUtil()才会管用。
Q3: Java代码中,如何在静态(由static关键字修饰)方法或静态代码块中(stati...
1、这是不可能的,static方法不隶属于任何类/对象,所以无从获取。static的内容由JVM统一管理,甚至都不在堆上.看了你的补充说明。如果是想知道本静态方法在哪个类被实现真的不可行,你的程序设计有错误。
2、publicstaticvoid main(String[] args) { Simple.go();} } 调用一个静态方法就是“类名.方法名”,静态方法的使用很简单如上所示。
3、用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块(用处非常大,呵呵)。
Q4: 看Java怎样使用静态块读取属性文件代码
就需要使用静态代码块。Java静态代码块的用法:一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化。
使用java.util.Properties类的load()方法 示例://文件在项目下。
看了你的补充说明。如果是想知道本静态方法在哪个类被实现真的不可行,你的程序设计有错误。如果你是想读取工作目录下的一个文件,你只能知道改工作目录的磁盘路径,而文件名(类名)必须手工写明,无法自动获取。
props.load(in);} catch (FileNotFoundException e1) { eprintStackTrace();} catch (IOException e1) { eprintStackTrace();} 我就是一直这么写的,没问题。我猜你读取文件为空的原因,是你的文件路径有空格。
Q5: Java反射机制获取内部类的静态成员
如果此 Field 对象强制实施 Java 语言访问控制,并且底层字段是不可访问的,则该方法将抛出一个 IllegalAccessException。如果底层字段是静态的,并且声明该字段的类尚未初始化,则初始化这个类。
静态方法不与特定实例关联,不能引用this,要得到当前类名,没有直接的办法。
field.setAccessible(true); field.get(null); 普通属性获取值需要传入对象,但是静态属性不需要传入具体对象,传 null也可以获取该字段的值。
关于java获取静态代码和java static静态代码块的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








