Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

いわゆる#include命令はないのでしょうか?

確かにimport命令はあるようですが、あれってファイルの結合ではないですよね?(ただクラスが利用できるだけ?)
例えばファイル A.javaとB.java があったとき、

[A.java]
int a=1;
int b=1;
 #include "b.java"
System.out.println("代入結果a="+a+" b="+b+";");

[b.java]
a=2;
b=3;

[コンソール結果]
代入結果a=2 b=3;

…という感じにしたいのですが、無理ですかね?

12

回答

3704

閲覧

12件の回答

評価

0

クラスの場合
public class A extend B {
}
Interfaceの場合
public class A implements B {
}

継承にあたるかな

評価

0

>あのひとさん
返信ありがとうございます。
継承…では意味ないんですよね。
いわゆるプリプロセッサ命令であり、javaにはないのかなーって思ったんです…
だって、win95/98では65000文字程度で文章編集不能に陥ることがあるので、ファイル自体を分割したいんですよね…
なんか無理っぽい気がしてきましたね…そういえばコンパイルしてないんだっけ???コンパイルしてなきゃプリコンパイルも何もないよなー…

評価

0

public class A {
  private int a = 1;
  private int b = 2;

  public void include(B b) {
    this.a = b.getA();
    this.b = b.getB();
  }
}

public class B {
  private int a;
  private int b;
  
  public int getA(){ return this.a; }
  public int getB(){ return this.b; }
}

ということをやりたいの?

評価

0

プリプロセッサはJavaにはありません。

どうしても、というのなら、そのままCのプリプロセッサを使ってincludeできます。

が、どちらかといえば標準メモ帳での編集を止める方が良いでしょう。

評価

0

>mioさん
インクルードできるんですか?ぜひやり方も教えてほしいです。

評価

0

プリプロセッサ使えってことでしょう。

やり方も何もないでしょう。
プリプロの文法分かっているなら、簡単でしょう?
#include "xxx.java"

やるだけ。

Win95/98 で動作する、
単体動作するプリプロで無料で入手できて
サイズも小さくて、、、、なのは、LSI-C
に付いてくるcppかな。

まぁ、clでもgccでも可能だけど、持ってる
なら普通「インクルードできるんですか」なんて
聞かんわな。

評価

0

java初者さん
  javaにincludeを使いませんと思います。
  importを使うと思います。
  

評価

0

でも、クラスひとつで6万行を超えるの?
そんなコードには近づきたくない・・・。

評価

0

行じゃなくて、文字

評価

0

> だって、win95/98では65000文字程度で文章編集不能に陥ることがあるので、ファイル自体を分割したいんですよね…

親クラス、継承クラスでファイルは分かれますが・・・

評価

0

>>10-07 22:09さん
>親クラス、継承クラスでファイルは分かれますが・・・

1つのクラスを複数のファイルで分けて書きたいってことだから、それは違うと思うけど・・・
C#のPartialクラスの方がイメージは近いと思います。

>>Java初心者さん
65000文字程度の制限は単にメモ帳じゃないエディタを使えばいい話だと思う。
そもそもクラスが巨大すぎるなら、設計を見直すべきだと思います。

評価

0

皆さん回答ありがとうございました。インクルードのような結合命令はないことがよく分かりました。
あとこれからはメモ帳に別れを告げて精進したいと思います(笑)
また何かあったらよろしくお願いします。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。