[OPの問題の編集サマリー]:
あなたは、Javaのプリミティブとオブジェクトタイプの間の区別を確認する必要があります。
プリミティブ型は、単に宣言して使用することができる。
int f; // Java (or is c? :)
f = 10;
オブジェクトタイプが割り当てられなければなりません。ライン間
読書:(Cプログラマのために:。。Javaオブジェクトが動的に割り当てられたヒープは、スタックではないと考えて)
Foo myFoo = new Foo(); // Java
struct foo *myFoo = (struct foo *) malloc(sizeof(struct foo)); // good old C
- - 最初の答え
は
混乱のあなたのポイントはこれですによって、によって、型のシステムに基底の拡張が存在することが通知されていると思われる場合は、タイプのメソッドを魔法のように呼び出すことができるはずです。
これは静的メソッドを設定した理由です。インスタンスを作成する必要はありません。インスタンスを作成する必要はありません。
ここで、カイの答えの線に沿って何かがあるとしましょう(正しいbtwです)。その後
:
/** using Kai's classes */
public void foobar() {
YourClass foo = new YourClass();
foo.commonMethod(); // try it ..
}
レビュー何必要のノウハウ単にC
でstruct
を定義し、使用して。あなたは、オブジェクトをインスタンス化する必要があり
SomeClass s; // s declared but not instantiated (think 'allocated')
:あなたが言うのJavaでは、
typedef struct {
int foo;
char bar[3];
} extended;
extended s; // this is not just declaring s; it is also allocating it
s.foo = 10; // hey, no malloc. nasty Java insists on new ..
:今
はこれを忘れてしまいました。
s = new SomeClass();
いくつかのコード例を見ることができますか? – Vache
親クラス(wrapperクラス)で定義されている関数を子クラスに拡張することができます。あなたの子供のクラスでは、あなたは単にwrapperclassからメソッドを呼び出すことができます。または単にそれをオーバーライドすることができます –
私はあなたのOOPの知識のギャップに対処する必要がある複数の問題があるという感覚を得る。 "" new "を使用してラッパークラスの新しいインスタンスを作成する必要があります。拡張を使用するポイントは何ですか。"句読法はさておき、それは本当に意味をなさない。 – alphazero