publicclassRules{finalKingrules=newKing();publicStringtest(){if(rules.play2a>rules.play2aa){Stringresult="Player 1 get all cards";returnresult;}else{Stringresult_="Player two get all cards";returnresult_;}}}
qual deles eh o main? nao eh mais facil vc colar a pilha da exception ae pra gente ver?
F
felito
obrigado pela resposta, o main não é nenhum deles, é outra classe a parte que instancia a primeira que eu postei acima (tem muitas mais coisas)
o erro é devido ao facto de eu estar chamando uma à outra e vice versa, pois se eu apagar o final King rules = new King(); o programa deixa de estoirar
Exceptioninthread"main"java.lang.StackOverflowErroratjavax.swing.SwingUtilities.appContextGet(SwingUtilities.java:1862)atjavax.swing.UIManager.getLAFState(UIManager.java:238)atjavax.swing.UIManager.maybeInitialize(UIManager.java:1393)atjavax.swing.UIManager.getDefaults(UIManager.java:644)atjavax.swing.UIManager.getFont(UIManager.java:657)atjavax.swing.LookAndFeel.installColorsAndFont(LookAndFeel.java:207)atjavax.swing.plaf.basic.BasicPanelUI.installDefaults(BasicPanelUI.java:66)atjavax.swing.plaf.basic.BasicPanelUI.installUI(BasicPanelUI.java:56)atjavax.swing.JComponent.setUI(JComponent.java:651)atjavax.swing.JPanel.setUI(JPanel.java:153)atjavax.swing.JPanel.updateUI(JPanel.java:126)atjavax.swing.JPanel.<init>(JPanel.java:86)atjavax.swing.JPanel.<init>(JPanel.java:109)atjavax.swing.JPanel.<init>(JPanel.java:117)atgame.King.<init>(King.java:24)atgame.Rules.<init>(Rules.java:4)atgame.King.<init>(King.java:143)atgame.Rules.<init>(Rules.java:4)atgame.King.<init>(King.java:143)atgame.Rules.<init>(Rules.java:4)//continua alternando o king com o rules o erro
pmlm
O erro é mesmo esse. Uma fica criando a outra indefinidamente. O mais provável é que, num dos casos, tenhas de passar a classe que cria como parametro.
F
felito
eu estou inclinado a utlizar uma classe abstracta ou mesmo interface, pode explicar melhor a sua ideia? um exemplo talvez