【java – 通过静态字段创建实例】教程文章相关的互联网学习教程文章

java – Android效率导入静态方法或导入类【代码】

我在一些项目中看到人们直接将静态方法导入Activity或类而不是整个类. 我的问题是,知道在同一个类中可以多次调用静态方法(为了更准确,5次或更多次),导入静态方法更有效,或者最好通过它的类调用它?解决方法:你的问题(据我所知)似乎确实解决了同样的问题.问题是:正在直接调用ClassName.staticMethod() 或这个import static ClassName.staticMethod; //rest of the stuff staticMethod();在这两种情况下,只要首先调用类,方法就会作为...

java中内部静态类的构造函数?【代码】

我写了下面的代码public class Reader1 {private int pageNumber;private class ReaderName1{public int getPage(){return pageNumber;}}static class ReaderFound{} }当我在已编译的代码上使用Java类文件反汇编程序javap时1. for Reader1.classclass Reader1$ReaderName1 {final Reader1 this$0;private Reader1$ReaderName1(Reader1);public int getPage();}2. for Reader1$ReaderName1.classpublic class Reader1 {private int ...

java – 为什么在使用带有类名的静态变量时未显示非法的前向引用错误【代码】

在使用类名访问静态变量时,在下面的代码中,它不会引发前向引用错误,但是在没有类名的情况下访问它. 为什么在使用类名访问时不会发生这种情况?class Test{static {System.out.println(a); // shows errora = 99; // and this line too doesn't give error System.out.println(Test.a); // this line doesn't}static int a = 10; static{System.out.println(a);} }解决方法:前向引用规则在JLS §8.3.3中定义:Use of class variabl...

java – 泛型类中的泛型静态方法【代码】

假设我有:public class Parent<T extends Child1> {public Parent() { }public static <T extends Number> void test(T t) {} }而Child1是Parent的子类. 我在这里想要理解的是类范围和方法范围中参数类型T之间的连接.如果两个参数(类’和方法’的边界完全不同,那么它们如何被允许命名为T?解决方法:方法中定义的类型参数完全独立于类中定义的类型参数.实际上,您需要为静态方法定义类型参数,因为那里不能使用类级别类型参数...

避免处理config.properties的Java类文件中的静态方法和变量【代码】

我正在研究一个简单的Java应用程序,并且我创建了一个名为Config.java的类来处理Application属性,从而避免了硬编码. Config.java类不是静态类,我在另一个名为Serial.java的类中创建Config.java类的实例. main方法位于另一个名为App.java的类中.所以我总共有3个类: > App.java> Serial.java(Config类的实例位于此处作为私有变量)> Config.java 在这个阶段,一切都很好,OOP设计中没有任何缺陷.但是,我需要创建另一个类,我必须从Config...

java – Eclipse不允许从另一个工作区访问外部jar中的静态接口方法【代码】

>有两个eclipse工作区,Workspace A和Workspace B.>在Workspace A中,有一个项目带有定义公共静态方法的接口:package workspacea;public interface Foo {public static String sayHello() {return "Hello, world!";} }>然后,我使用导出→Java→JAR文件和默认设置将整个项目从Workspace A导出到* .jar-File.>在Workspace B中,类应该访问先前定义的静态方法:package workspaceb;import workspacea.Foo;public class Bar {public stat...

java – 方法引用静态与非静态【代码】

我想知道如何区分具有相同名称的静态和非静态方法引用.在我的例子中,我有一个名为StringCollector的类,它有以下三种方法:StringCollector append(String string)static StringCollector append(StringCollector stringCollector,String string)StringCollector concat(StringCollector stringCollector)现在,如果我想使用Stream< String>收集字符串列表我会写这样的东西:Arrays.asList(“a”,“b”,“c”).stream().collect(Stri...

java – ComperatorFactory使用静态方法还是各自在自己的类中?【代码】

我在考虑实现多个Comperator.现在我不确定如何以最有利的方式做到这一点,即仍然具有依赖注入的能力. 方法1:一个类是一个比较器(如this answer所示):// file LexicographicComparator.java class LexicographicComparator implements Comparator<Person> {@Overridepublic int compare(Person a, Person b) {return a.name.compareToIgnoreCase(b.name);} }// file AgeComparator.java class AgeComparator implements Comparator...

类java中的静态变量【代码】

我想问一下,类中的静态变量是否会为初始化类添加额外的内存. 可以说我有这样一个类:public class Sample{public static String NAME[] = {"1", "2", "3", "4"};private int id;private String uuid;private String name;public void setUuidString() {UUID uuid = UUID.randomUUID();this.uuid = uuid.toString();}public void setName(String name) {this.name = name;}public void setCustomUuid(String uuid) {this.uuid = uui...

java – 是否可以在Tomcat 8中禁用对引用静态字段和JSP 2.3的方法的支持【代码】

是否可以关闭在Tomcat 8中引用静态字段和方法的支持,Tomcat 8是作为Unified Expression Language 3.0的一部分添加的. 我们的应用程序中有~4K JSP,有许多${undefined}(没有指定范围)表达式,迁移到Tomcat 8会导致显着的性能下降,因为对这些表达式的评估是合法的“null”值.我们不再将JSP技术用于较新的页面,但遗留的页面不会很快消失. 有问题的代码在javax.servlet.el.ScopedAttributeELResolver类中,该类尝试从ImportHandler解析表达...

java – 为什么非静态字段不能充当GC根?【代码】

据我所知,静态字段(以及Threads,局部变量和方法参数,JNI引用)充当GC根. 我无法提供可以证实这一点的链接,但我已经阅读了很多文章. 为什么非静态字段不能充当GC根?解决方法:首先,我们需要确保我们与跟踪垃圾收集算法在其标记阶段所做的事情处于同一页面. 在任何给定的时刻,跟踪GC都有许多已知存在的对象,因为它们可以通过正在运行的程序到达.标记短语的主要步骤涉及遵循这些对象的非静态字段以查找更多对象,并且现在还将知道这些新...

java – Enum初始化程序中禁止的一些静态类型【代码】

以下代码片段,public enum Main {INSTANCE;private final static String STR = "abc";private final Map<Integer, Character> map = new HashMap<>();private final static int[] NUMS = { 1, 2, 3 };private Main() {for (int i = 0; i < STR.length(); i++)map.put(NUMS[i], STR.charAt(i)); // compiler error!}public char toChar(int i) {return map.get(i);}public static void main(String[] args) {System.out.println(Mai...

java – 如何重新引用静态枚举成员的引用【代码】

我的代码包含以下方式对枚举的引用.Flowers { ROSE, SUNFLOWER }import com.mycompany.Flowers;class A {public void foo(...) {Flowers flower = Flowers.ROSE;} }我想上面的代码使用对Flower的静态引用,然后代码就像import static com.mycompany.Flowers.ROSE;Flowers flower = ROSE;如何重新使用我的代码(使用Eclipse)来使用枚举的静态引用而不是正常的引用机制.有没有办法告诉Eclipse修改静态引用的所有常规枚举引用?解决方法...

java静态内部类初始化错误【代码】

语境:java.io.File类有一个静态内部类方法,如下所示:LazyInitialization.temporaryDirectory();[已编辑添加更多代码]我下面的代码最终调用上面的代码行.从temporaryDirectory()方法中抛出异常,在我的上下文中很好/期望.try {File tempFile = File.createTempFile("aaa", "aaa"); } catch (Exception e) {// handle exception }然后,当我再次调用相同的方法(createTempFile)时,我得到一个“java.lang.NoClassDefFound错误 – 无法...

使用静态方法将类更改为Java中的接口的二进制兼容性【代码】

我遇到了以下奇怪的Java / JVM规范不完整的情况.假设我们有类(我们将使用Java 1.8和HotSpot):public class Class {public static void foo() {System.out.println("hi");} }public class User {public static void main(String[] args) {Class.foo();} }然后重新编译Class作为接口而不重新编译User`:public interface Class {public static void foo() {System.out.println("hi");} }现在运行User.main会产生相同的输出.这似乎是...

实例 - 相关标签
字段 - 相关标签