Tag: 实例

实例方法的示例? (JAVA)

我还在学习Java中的方法,并且想知道你如何使用实例方法。 我在考虑这样的事情: public void example(String random) { } 但是,我不确定这实际上是实例方法还是其他类型的方法。 有人可以帮帮我吗?

这个Java单例是否可以在WebSphere 6中重复重建?

我正在尝试追踪我们系统中的问题,以下代码让我担心。 主servlet中的doPost()方法发生以下情况(名称已被更改以保护有罪): … if(Single.getInstance().firstTime()){ doPreperations(); } normalResponse(); … 单身’单身’看起来像这样: private static Single theInstance = new Single(); private Single() { …load properties… } public static Single getInstance() { return theInstance; } 通过设置为使用静态初始化程序而不是在getInstance()方法中检查null theInstance的方式,这可以一次又一次地重建吗? PS – 我们正在使用Java 1.4上的App运行WebSphere 6

如何使用“instanceof”实现generics的“equals”方法?

我有一个接受generics类型的类 ,我想以一种非笨拙的方式覆盖equals方法(即看起来很干净并且代码量很少的东西,但对于非常一般的用例)。 现在我有这样的事情: public class SingularNode { private T value; @SuppressWarnings(“unchecked”) @Override public boolean equals(Object other){ if(other instanceof SingularNode){ if(((SingularNode)other).value.equals(value)){ return true; } } return false; } } 我猜,这是非常有缺陷的 – 我正在对other对象的SingularNode进行强制转换,这可能会引发错误 。 另一件事是 – 当我这样做if(other instanceof SingularNode)我实际上并没有检查到正确的东西。 我实际上想检查类型T而不是类型? 。 每当我试图制作? 进入T ,我得到一些错误: 无法对参数化类型SingularNode执行instanceof检查。 请改为使用SingularNodeforms,因为在运行时将删除其他generics类型信息 我怎么能绕过这个? 有没有办法做T.class.isInstance(other); ? 我想有一个非常难看的黑客解决方案是这样的: @SuppressWarnings(“unchecked”) public boolean isEqualTo(Class c, Object obj){ […]

java单例实例化

我已经找到了三种实例化Singleton的方法,但我怀疑它们中是否有一种是最好的。 我在multithreading环境中使用它们并且更喜欢懒惰的实例化。 样本1: private static final ClassName INSTANCE = new ClassName(); public static ClassName getInstance() { return INSTANCE; } 样本2: private static class SingletonHolder { public static final ClassName INSTANCE = new ClassName(); } public static ClassName getInstance() { return SingletonHolder.INSTANCE; } 样本3: private static ClassName INSTANCE; public static synchronized ClassName getInstance() { if (INSTANCE […]

如何获取现有的websocket实例

我正在开发一个使用Websockets(Java EE 7)的应用程序,以异步方式向所有连接的客户端发送消息。 每当创建新文章(我的应用程序中的参与模式)时,服务器(Websocket端点)都应发送这些消息。 每次建立与websocket端点的连接时,我都会将相应的会话添加到列表中,我可以在外部访问该列表。 但我遇到的问题是,当我访问这个创建的websocket端点时,所有客户端都从外部连接(任何其他业务类),我得到了现有的实例(如单例)。 所以,你能否告诉我一个方法,我可以得到一个websocket端点的现有实例,因为我无法创建它作为新的MyWebsocketEndPoint()因为它将由websocket内部机制创建,只要客户端的请求是接收。 对于参考: private static WebSocketEndPoint INSTANCE = null; public static WebSocketEndPoint getInstance() { if(INSTANCE == null) { // Instead of creating a new instance, I need an existing one INSTANCE = new WebSocketEndPoint (); } return INSTANCE; } 提前致谢。

尝试将新的Class实例添加到ArrayList时,while循环中出现NullPointerException

我越是谷歌,我就越困惑。 我从CSV中引入了一个未知长度的名称列表以及其他一些细节,然后我需要将其转换为Person对象并存储在名为people的列表中,这是类Club的实例变量,其列表为成员基本上。 这是一个非常简化的版本,我需要做更复杂的事情,我需要在循环浏览文件时为每一行创建对象,然后我需要添加到列表集合中。 当我运行我的代码时,我不断收到nullPointerException错误,我很难过如何避免它。 我猜我创建新对象时我的变量p需要在每个循环上进行更改,但我认为不可能动态更改变量吗? 无法想象我每次都可以使用有效的非null引用将对象提交到集合。 非常感谢任何帮助。 我试图在下面的代码中删除所有不必要的东西。 谢谢 //class arraylist instance variable of class “Club” private ArrayList people; //class constructor for Club public Club() {List people = new ArrayList();} public void readInClubMembers() { //some variables concerning the file input String currentLine; String name; String ageGroup; while (bufferedScanner.hasNextLine()) { //some lines bringing in the scanner […]

你能否将一个实例变量声明为构造函数中的参数?

这会有用吗? class Cars{ Cars(int speed, int weight) } 我只想弄清楚构造函数。 如果它像方法一样调用,那么我认为它的工作方式类似于方法。 您可以在调用该方法时使用的方法中创建局部变量,因此我不明白为什么必须在构造函数可以使用它们之前声明实例变量。

如何使用实例引用实例?

我正在尝试最小化我创建实例的程度,因为我不是特别擅长Java。 目前我在Main中有一组其他类的实例,一个简单的例子…… public final class ClassName extends JavaPlugin { AntiSwear antiSwear = new AntiSwear(); Spam spam = new Spam(); @Override public void onEnable() { // Plugin startup logic } @Override public void onDisable() { // Plugin shutdown logic } } 而不是制作越来越多的实例,我只想创建一个主类的实例, ClassName className = new ClassName(); 并运行类似className.spam… 基本上把我的胡言乱语变成英语:我只想看看如何使用实例引用实例。

静态块初始化

这是一段Java代码: static { ture = 9; } static int ture; { // instance block System.out.println(“:”+ture+”:”); } 它是如何编译的? 初始化后已执行变量’ture’的声明。 据我所知,静态块和字段按照它们出现的顺序执行。 现在为什么实例块中的值9已被打印3次? 顺便说一下,类的实例已经创建了3次。 这不是作业,我正在学习Java认证。

如何在java中使用for循环从类创建新对象?

我有一个名为Card的类,我有这个for循环: int i; for (i = 0; i < 13; i++) { Card cardNameHere = new Card(); } 我想要做的是基于for循环创建新实例。 因此,例如,我希望名称为card1,card2,card3等。该数字将来自for循环。 我试过这个似乎不起作用: int i; for (i = 0; i < 13; i++) { Card card[i] = new Card(); } 谁能告诉我我做错了什么? 谢谢。 所以我使用的是Hovercraft Full Of Eels的解决方案,但我还有另外一个问题。 我正在使用cardList.add(new Card()); ,当我尝试使用Card(i)设置名称时,java不会让我这样做。 使用它没有我工作正常,但我如何访问它所以我可以调用其他方法,如setId。 我想调用cardName.setId();