从静态方法访问非静态成员变量

2023-12-30

我刚刚开始学习 Java,需要一些帮助。我知道我无法对静态方法进行非静态引用,但我需要帮助来解决它。我读到您可以通过创建对象的实例来访问非静态成员变量,但我不确定具体如何操作。这是代码中的一些内容。任何帮助或指示将不胜感激。

package tweetClassification;        

public class PriorityRules {    

    public static void prioritize( final String userInput ){

            ClassificationRule.apply( aUserInput ); //ERROR
                            // Cannot make a static reference to 
                            // the non-static method apply(String)
                            // from the type ClassificationRule
        }
} 

*----------------------------------------------------------------
package tweetClassification;

public class ClassificationRule {

        public void apply (final String aUserInput) {   

            apply( aUserInput );
        }
    }

*----------------------------------------------------------------
package tweetClassification;

import java.util.ArrayList;

public class RuleFirstOccrnc extends ClassificationRule {

    public void apply ( final String aUserInput ){

        for( TweetCat t: TwtClassif.tCat )
            applyFirstOccurrenceRuleTo( t, aUserInput );
    }

*----------------------------------------------------------------
package tweetClassification;

public class RuleOccrncCount extends ClassificationRule {

    public void apply ( final String aUserInput ){

        for( TweetCat t: TwtClassif.tCat )
            applyOccurrenceCountRuleTo( t, aUserInput );
    }

您不能从静态方法引用非静态变量,因为该静态方法附加到类,而不是任何特定实例。从它的角度来看,那些非静态变量甚至不存在。但是,您的问题具有误导性,因为您的代码中没有任何地方显示任何非静态变量成员。您的问题似乎更多是如何实例化适当的分类规则并将其应用于静态方法参数。有多种方法可以做到这一点,最简单的是简单地实例化规则的实例:

ClassificationRule rule = new RuleFirstOccrnc();
rule.apply(userInput);

但考虑到您有多个分类规则子类,您可能需要一种更复杂的方法来实例化它们。工厂在这里可能很有用,或者您可以使用一些更高级的对象创建模式,例如注入。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从静态方法访问非静态成员变量 的相关文章

  • 如何使用 Java 将 HTML 内容转换为 PDF 而不丢失格式?

    我有一些 HTML 内容 包括格式化标签 例如strong 图像等 在我的 Java 代码中 我想将此 HTML 内容转换为 PDF 文档 而不丢失 HTML 格式 有没有办法用 Java 来实现 使用 iText 或任何其他库 I use
  • Java Sqlite Gradle

    我对 gradle 和 java 还很陌生 我有一个使用 sqlite 的项目 它通过 intellij idea 运行良好 但我无法从终端运行它 它会抛出异常 java lang ClassNotFoundException org sq
  • 如何使用 Java 创建多个模式连接?

    我必须使用两个数据库 DB2 Oracle 我在 DB2 数据库中有一个名为NAVID 我想使用 Java 为 Oracle 中的所有表创建相同的架构 public class automateExport static String va
  • 如何在数据库中对 (Java) 枚举进行建模(使用 SQL92)

    您好 我正在使用名为 性别 的列对实体进行建模 在应用程序代码中 性别应该是一个 Java 枚举类型 有 2 个值 男性和女性 知道作为数据类型的枚举不是通用 SQL 语言 92 的一部分 您将如何建模它 数据模型必须是可移植的 以便由多个
  • WebLogic 10 中的临时目录

    每当 WL 停止时 它都不会删除其临时目录 即 domains mydomain servers myserver tmp WL TEMP APP DOWNLOADS domains mydomain servers myserver tm
  • org.postgresql.util.PSQLException:协议错误。会话设置失败

    我知道这些类型的问题已经存在 但提供的解决方案对我不起作用 在我的应用程序中 没有版本不匹配的黑白驱动程序和 PostgreSQL 服务器 我还没有找到任何其他解决方案 我正在使用 PostgreSQL 服务器 9 4 和 postgres
  • FFmpeg 不适用于 android 10,直接进入 onFailure(String message) 并显示空消息

    我在我的一个项目中使用 FFmpeg 进行视频压缩 在 Android 10 Google Pixel 3a 上 对于发送执行的任何命令 它会直接进入 onFailure String message 并显示空消息 所以我在我的应用程序 g
  • 通过 JNI 从 Applet 调用 DLL

    我有一个 概念验证 的作品 它跨越了一些不熟悉的领域 我的任务是将 EFTPOS 机器连接到在内联网浏览器中作为小程序运行的应用程序 我暂时忽略了 EFTPOS dll 并用我选择的语言 Delphi 创建了一个简单的 JNI 修饰的 DL
  • 如何使用 BufferedReader 对象从 Java 中的一行读取多个整数值?

    我正在使用 BufferedReader 类读取 Java 程序中的输入 我想读取用户的输入 该用户可以在带空格的单行中输入多个整数数据 我想读取整数数组中的所有这些数据 输入格式 用户首先输入他 她想要输入的数字数量 然后在下一行中使用多
  • 如何使用 Spring MVC 和 Thymeleaf 添加静态文件

    我的问题是如何添加 CSS 和图像文件等静态文件 以便我可以使用它们 我正在使用 Spring MVC 和 Thymeleaf 我查看了有关此主题的各种帖子 但它们对我没有帮助 所以我才来问 根据这些帖子 我将 CSS 和图像文件放在res
  • Scala(或 Java)中泛型函数的特化

    是否可以在 Scala 中专门化泛型函数 或类 例如 我想编写一个将数据写入 ByteBuffer 的通用函数 def writeData T buffer ByteBuffer data T buffer put data 但由于 put
  • 删除 ArrayList 对象问题

    我在处理作业时遇到从 ArrayList 中删除对象的问题 如果我使用 正常 for 循环 它的工作原理如下 public void returnBook String isbn for int i 0 i lt booksBorrowed
  • 如何列出所有可用的 LookAndFeel 主题?

    如何列出所有可用的 LookAndFeel 主题 我想在 JComboBox 中显示以供用户选择 这真的很简单 public static UIManager LookAndFeelInfo getInstalledLookAndFeels
  • Hibernate @OneToMany 注释到底是如何工作的?

    我对 Hibernate 还很陌生 我正在通过教程学习它 我在理解到底如何一对多注释作品 所以我有这两个实体类 Student代表一个学生并且Guide代表指导学生的人 因此 每个学生都与一名向导相关联 但一名向导可以跟随多个学生 我想要一
  • java中wav文件转换为字节数组

    我的项目是 阿塞拜疆语音的语音识别 我必须编写一个程序来转换wav文件到字节数组 如何将音频文件转换为byte 基本上如第一个答案中的片段所描述 但不是BufferedInputStream use AudioSystem getAudio
  • 无法在 BlackBerry Playbook 上设置音量

    我在更改黑莓游戏书的音量时遇到问题 首先 我将 Android 应用程序重新打包到 Palybook 应用程序 我需要使用搜索栏更改黑莓剧本的音量 并在搜索监听器中设置音频管理器音量 这是代码 audioManager AudioManag
  • JPA - 非主键字段上的 @OneToOne 关系不起作用

    我有一个 Spring Data JPA 后端 使用 Hibernate 作为 ORM 实现 这是模型 Person MailConfig id PK uid PK FK Person uid uid Entity
  • 当我在 Java 中输入 IP 时无法连接到我的服务器

    好的 我正在尝试学习 Java 客户端 服务器的内容 并且正在浏览教程代码 如下所示 当我将 localhost 更改为我的 IP 时 它会停止工作 请帮忙 编辑 127 0 0 1 似乎也可以工作 但不是我的真实IP Copyright
  • 条件查询:按计数排序

    我正在尝试执行一个标准查询 该查询返回 stackoverflow 中回答最多的问题 例如常见问题解答 一个问题包含多个答案 我正在尝试使用标准查询返回按每个问题的答案数排序的回答最多的问题 任何人都知道我应该在 hibernate cri
  • C/C++ 通过 Android NDK 在 JNI 中看不到 Java 方法

    我正在尝试从使用 NDK 构建的 C 类文件调用 Java 方法 它不断抛出常见的 未找到非静态方法 错误并导致整个 Android 应用程序崩溃 下面的代码片段 有些东西可能不需要 但我按原样保留它们 因为焦点 问题在于refreshJN

随机推荐

  • 从 URL 加载图像并将其显示在 iPhone 应用程序中的更快方法

    我使用以下代码在 ImageView 中显示图像 imgbackBG image UIImage imageWithData NSData dataWithContentsOfURL NSURL URLWithString NSString
  • Highcharts 不会调整选项卡内图表的大小

    我正在使用带有选项卡的 Twitter Bootstrap 我有多个选项卡和每个选项卡内的图表 调整浏览器大小后 不在当前活动选项卡上的图表不会调整大小 事实上 它看起来很有趣 有一个细条 当前活动选项卡工作正常 有谁见过这个问题并且有任何
  • 在 tableView 中删除行时出现核心数据错误

    我有一个 UITableViewController 管理分组的 tableView tableView 是从 fetchedResultsController 填充的 如果我点击Edit导航栏中的按钮 然后选择一行并单击Delete按钮
  • 如何让“不适当的阻塞方法调用”变得适当?

    我目前正在尝试更多地利用 kotlin 协程 但我面临一个问题 当在这些协程中使用 moshi 或 okhttp 时 我收到警告 不适当的阻塞方法调用 解决这些问题的最佳方法是什么 我真的不想变得不合适 该警告是关于阻止当前线程和协程无法正
  • 从内存缓冲区创建 HBITMAP

    我有一个应用程序 它从数据库中加载一些 blob 数据 这些数据可以表示 png 格式或各种位图和图标的原始二进制数据 这被存储在std vector
  • 重定向到主页而不是 404 错误页面!

    我正在使用 PHP 我有一个如下所示的 htaccess 文件 它重定向到主页而不是 404 错误页面 这里可能有什么问题 赞赏有帮助 多谢 ErrorDocument 404 new err404 html RewriteEngine O
  • Facebook Messenger API - 永久菜单无法在移动设备上运行

    我正在对 API 端点进行 php curl 调用 以根据以下内容设置持久菜单文档 https developers facebook com docs messenger platform thread settings persiste
  • 重新创建 Android 项目后如何合并 Git 存储库?

    我有一个 Android 应用程序 我们称之为 Foo 它有相当多的历史 从 Eclipse 开始 然后迁移到 Android Studio 它曾经具有以下遗留目录结构 Foo MyAndroidLibrary Foo MyAndroidL
  • .NET 6 Core Web 应用程序返回找不到网页

    我已经在这里和其他地方搜索过以找出问题所在 但找不到好的解决方案 我创建了一个针对 NET6 的新 NET Core Web 应用程序 我在没有身份验证且没有 Docker 支持的情况下创建了该项目 我希望新的应用程序能够使用默认登录页面开
  • 调用析构函数,然后调用构造函数(重置对象)

    我想重置一个对象 我可以按照下面的方式来做吗 anObject gt AnObject anObject new anObject AnObject edit this is not allowed anObject gt AnObject
  • 内容重叠div

    我遇到内容重叠的问题 当我尝试这段 HTML 代码时 content left 中的文本与我希望它包含的整个区域重叠 当我将高度更改为自动时 它并不能解决问题 内容向右重叠 底部被切断 wrapper height 1500px margi
  • 使用 Angular-CLI 安装第 3 方 jquery-ui

    我正在为我的 Angular2 项目使用 Angular CLI 在我的项目中我想使用jquery ui 我安装了 jquery ui npm install jquery jquery ui 我编辑了我的 angular cli buil
  • Android 存储访问框架在 asynctask 期间未授予持久权限

    我在这里设置了意图标志 public void createAlbum View view Intent intent new Intent intent setType image intent setAction Intent ACTI
  • 如何在 django 1.10 中使用“unaccent”进行全文搜索?

    我们正在开发一个项目并且我们正在使用Django 1 10a1 我们使用 Django 全文搜索和 PostgreSQL 但我们需要使用非重音符号 所以 我有这个代码 search Car query set Article objects
  • Python 尾随 L 问题

    我正在使用 Python 编写嵌入式系统中内存中特定位置 32 位地址 的一些操作脚本 当我将这些地址与字符串 整数和十六进制值相互转换时 似乎会出现尾随的 L 这可能是一个真正的痛苦 例如以下看似无害的代码将无法工作 int hex 42
  • 如何在 Jasmine 单元测试中使用 Sinon 模拟 jQuery 动画?

    我有一个 1 秒的 jQuery animate页面加载后 5 秒启动的操作 我在 Jasmine 单元测试代码中设置了一个 Sinon 计时器 并在 7 秒后进行测试 看看动画后属性是否符合预期 它无法正常工作 因此我在 Jasmine
  • 创建一个调用 jsf 方法的简单链接

    我正在创建一个注销链接 这是注销 bean 的代码 public void doLogout try FacesContext getCurrentInstance getExternalContext getSessionMap put
  • 在“输入”元素之前或之后生成CSS内容[重复]

    这个问题在这里已经有答案了 在 Firefox 3 和 Google Chrome 8 0 中 以下内容按预期工作 span Test span 但当元素为
  • Java 中的套接字和进程

    在Java中 最好的方法是打开一个持续监听的端口 并且在收到数据包时仍然发送 目前我对网络编程还不是特别精通 所以我在网上找到的教程并不是特别有帮助 将侦听套接字作为服务器套接字并在我用来向服务器发送数据的套接字的单独线程中运行它是否有意义
  • 从静态方法访问非静态成员变量

    我刚刚开始学习 Java 需要一些帮助 我知道我无法对静态方法进行非静态引用 但我需要帮助来解决它 我读到您可以通过创建对象的实例来访问非静态成员变量 但我不确定具体如何操作 这是代码中的一些内容 任何帮助或指示将不胜感激 package