2012-03-02 5 views
0

オーバーライドされたスーパークラスのメソッドのサブクラスプロパティにアクセスします。可能?説明するために

public class FooButton extends JButton { 
    protected Integer length = 30; 

    public FooButton(String txt) { 
     setText(txt); 
    } 

    @Override 
    public void setText(String txt) { 
     super.setText(txt.substring(0, length)); 
    } 
} 

残念ながら私にとっては、EclipseはlengthsetText()を通過する際にnullであることを私に伝えます。

+0

「タイプ」はどのタイプですか? – nwinkler

+0

なぜ 'int'ではなく' Integer'を使用していますか? 'Integer'を使うと、たくさんの不要なオートボクシングが導入されます。 – nwinkler

+0

私はJavaについて全く新しい、私は違いについて自分自身を尋ねることはありません。しかし、それは私の「ヌル」の原因でした。 – user978548

答えて

1

は、それはすべきではない:あなたは変数にデータ型を与えるのを忘れ

protected int length = 30; 
+0

その場合、ヌルにすることはできません。 – nwinkler

+0

ああいいえ。 私の質問は間違っていましたが、実際は「整数長」でした。だから私はそれを "int length"に変更しました。それはいいです。 Javaで学ぶべきことはまだあります:) – user978548

+0

これで 'int'への変更が行われましたか? – nwinkler

0

+0

私は質問で忘れてしまった。実際、私は "int length"と同じものではないようですが、私のコードでは "Integer length"を書いています。それはGoogleにあります。 – user978548

関連する問題