みんさんどうもすみません。クラス変数とクラスメソッドなんですが、
何回本を読んでもイマイチ理解できません。クラス変数とクラスメソッド
を使うことでなにがメリットなのか教えてください。例えばクラスメソッド
の場合はメソッド名の前にオブジェクト名をつけなくていいとか、そういう
便利さのために使うんでしょうか?どうもまだ完全に理解できていないの
で詳しい方いらっしゃったらどうか教えてください。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

 クラスメソッドのメリット、ですか。

まともに解説しようとするとなかなか難しいものですね。

 順番に考えてみましょう。
 クラスメソッドでないメソッドといえば、インスタンスメソッドです(これは普通に使うと思いますが)。
 インスタンスメソッドは、インスタンスを操作するためのメソッドです。
 同じように、クラスメソッドは、クラスを操作するためのメソッドです。
 要は「メソッド」とは、何かの対象を操作するものであって、その対象がインスタンスなのかクラスなのかという違いです。

 おそらくこのぐらいの解説はどこにでもあると思うのですが、ピンと来ないのは、「クラスを操作する」と言われてもイメージがわかないからでしょう。

 そこで、具体的な例を考えてみます。
 ある銀行が、変動金利でお金を貸しているとします。金利はある基準金利+1%で決まるとします。その場合、この銀行には、

  ひとつの「融資」クラスと、
  複数の「融資」インスタンス

 があることでしょう。この場合、「基準金利」はクラス変数であり、「基準金利を設定する」メソッドはクラスメソッドとするのが自然です。クラスメソッドで基準金利を設定すると、そのクラスのすべての融資インスタンスの金利が、その基準金利を元に再計算されることでしょう。

 こういうふうに、個別のインスタンスではなく、同じクラスのすべてのインスタンスに共通に影響するようなパラメータをクラス変数とし、それを操作するメソッドをクラスメソッドにする、のがクラスメソッドの主要な用途です。

 ただ、同じようなことをクラスメソッドを使わずに実装することももちろん可能です。今の例でいえば、基準金利自体をひとつのクラスとして切り出してしまい、融資インスタンスが基準金利インスタンスを参照するような設計も可能でしょう。
 たとえば、「顧客のランクによって3種類の異なる基準金利を適用したい」というような場合はそうするほうがよいかもしれません。

 どちらがよいかは、ま、好きなほうを使えばよいのではないでしょうか。
    • good
    • 1
この回答へのお礼

Snowmanさんアドバイスありがとうございました。特に

「個別のインスタンスではなく、同じクラスのすべてのインスタンスに共通に影響するようなパラメータをクラス変数とし、それを操作するメソッドをクラスメソッドにする、のがクラスメソッドの主要な用途です。 」

の部分がとてもわかりやすかったです。もう一度
クラス変数とクラスメソッドを勉強してみたいと思いました。
まだ完全には理解できていないとは思うんですが、少しづつ
でも進歩したいと思っております。本当にありがとうござい
ました。またなんかあったときはよろしくお願いします。

お礼日時:2001/12/24 18:57

クラスメソッドというのが良く分かりませんが、それはstaticメソッドのことでしょうか・・・



私はどんなクラスからも便利使いされるようなロジックをstaticメソッドにします。例えばtrimをするときに、NullPointerExceptionを出さないようにこんなメソッドを作ります。

public class UtilBean{
public static final String trim(String s,Object tmp){
try{
s.trim();
}catch(Exception e){
//sがnullならここに来ます
return tmp;
}
}
}

これを各クラスごとにメソッドを作ったら大変です。親クラスに一つ持つことも考えられますが、全く関係ないクラスどうしで、同じ親クラスを持つことが不可能なこともあります。そこで、staticメソッドにして一つのクラス(UtilBean)にまとめてしまうのです。

どうですか?なんとなくわかっていただけましたか?
static変数はカウンターとかを考えると分かりやすいですよね。
きっとだれかがまた解説してくれるでしょう。
    • good
    • 0
この回答へのお礼

kuro_73さん貴重なアドバイスありがとうございました。
確かにstaticメソッドで一つのクラスにまとめてしまう
というやり方もあるんだなっていうのがわかりました。
これからなにかあったときは今回のkuro_73さんの
アドバイスを思い出して使えたらなって思いました。
今回は本当にありがとうございました。

お礼日時:2001/12/24 19:02

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qシアトル系コーヒーについて

スタバ、タリーズ、シアトルズベストetc…
今やコーヒー=シアトル系と言えるほど
このようなシアトル系スタイルのコーヒーショップ・カフェが増えてますが
そもそもスタバにしろタリーズにしろ
なぜシアトルから始まったのでしょうか?

シアトルという土地ならではの理由があったのでしょうか?

Aベストアンサー

シアトル系は深炒りの豆やエスプレッソを使ったラテで人気ですか、
シアトルにはイタリア系移民が多かったからという話しを聞いたことがあります。

下記サイトの下のほうね。

参考URL:http://seattlekobo.com/jp/history.html

Q[クラス名].[メソッド名].[メソッド名]という書き方。

javaを勉強している者です。

少しピンと来ない書き方があるのですがそれはタイトルの通りの書き方で、具体的には

Main.getMailStore().isNewMail()

という書き方です。MailというのがクラスでgetMailStore()というのがそのクラスで宣言されているメソッドで下記のように実装されています。(MailStoreというのはインターフェースとして別のファイルで宣言されています。)

private static MailStore _mailStore;

public static MailStore getMailStore(){
return _mailStore;
}

(MailStoreというインターフェースの中にisNewMailというメソッドは宣言されています。)

public interface MailStore{
public boolean isNewMail(String uid);
}

これらだと、最初のMain.getMailStore().isNewMail()というのは、
「まず、MainクラスのgetMailStoreメソッドを呼び出して、そこでreturnされてくるMailStore型のクラスの中の、isNewMailメソッドを呼び出している」というのを一回で書いてしまっている書き方ということで合っているでしょうか?少しピンと来ないので・・(特にreturnされるメソッド(getMailStore)にそのまま.[メソッド]という書き方をのっけるあたりが)

よろしくお願いします。

javaを勉強している者です。

少しピンと来ない書き方があるのですがそれはタイトルの通りの書き方で、具体的には

Main.getMailStore().isNewMail()

という書き方です。MailというのがクラスでgetMailStore()というのがそのクラスで宣言されているメソッドで下記のように実装されています。(MailStoreというのはインターフェースとして別のファイルで宣言されています。)

private static MailStore _mailStore;

public static MailStore getMailStore(){
return _mailStore;
}

(MailSt...続きを読む

Aベストアンサー

あってます。

Qアメリカ、シアトルの美味いもの 特産品など

シアトルで有名な料理などはありますか?
出来れば、シアトルで有名な(特産的?)食材、料理の材料など

なんでもいいんでシアトルならではの食材、材料 教えてください

Aベストアンサー

昨年シアトルの高校生(女の子)のホームステイを受け入れました。
彼女の話によると鮭が特産のようですね。

Qクラス変数/メソッドとインスタンス変数/メソッドの見え方について

Javaの言語仕様(?)についてお教え下さい。

参照変数の型がインスタンスのスーパークラスの型の時、クラス変数/メソッドとインスタンス変数/メソッドの見え方が納得いかずに困っています。

以下のような条件の時です。
  ・クラスが2つあり、1つはもう1つのクラスを継承しています。
    それぞれを「スーパー」「サブ」と以下で呼びます。
  ・インスタンスは"サブ"の型です。
  ・上記インスタンスへの参照変数は"スーパー"のクラスの型です。
  ・"スーパー"、"サブ"ともに【同名】の「クラス」変数/メソッド、「インスタンス」変数/メソッドがあります。

この場合に、"サブ"のインスタンスを参照している"スーパー"の型の変数を介し、それらにアクセスしたらどれが見えるか?という疑問です。
実験結果では以下のようになりました。
          [フィールド]  [メソッド]
  [1.static ]  スーパーの   スーパーの
  [2.非static]  スーパーの   サブの

納得いかないのは「2.非static」で「フィールド」が、「スーパーの」になるところです。
これも「サブの」になると思っていました。
なぜサブクラスのが見えないのでしょうか?
同名の変数なのでスーパークラスのはサブクラスので隠れされ、サブクラスのが見えると思っていたのですが。

参考書には以下のように書いてありました。
  フィールドの場合、参照変数の型のものが見える。
  メソッドの場合、インスタンスの型のものが見える。
私には不自然に感じられるのですが、「こういう仕様だから。」と納得するしか無いのでしょうか?

「なぜこうなるか」について説明がある文献、サイトなどありましたらお教えください。

参考までに以下が実験したサンプルコードと結果です。長くて申し訳ありません。
「サンプルコード」
public class Super {
static int staticField = 10;

int instanceField = 100;

static void staticMethod() {
System.out.println( "staticField = " + staticField );
}

void instanceMethod() {
System.out.println( "instanceField = " + instanceField );
}
}

public class Sub extends Super {
static int staticField = 90;

int instanceField = 900;

static void staticMethod() {
System.out.println( "staticField = " + staticField );
}

void instanceMethod() {
System.out.println( "instanceField = " + instanceField );
}
}

public class TestStatic {
public static void main(String[] args) {

// インスタンスはSub、参照変数もSub、という状態。
Sub sub = new Sub();

System.out.println( "実験1" );
System.out.println( "1.クラス変数      " + sub.staticField );

System.out.print( "2.クラスメソッド    " );
sub.staticMethod();

System.out.println( "3.インスタンス変数   " + sub.instanceField );

System.out.print( "4.インスタンスメソッド " );
sub.instanceMethod();


// インスタンスはSub、参照変数はSuper、という状態。
Super sup = new Sub();

System.out.println( "実験2" );
System.out.println( "5.クラス変数      " + sup.staticField );

System.out.print( "6.クラスメソッド    " );
sup.staticMethod();

System.out.println( "7.インスタンス変数   " + sup.instanceField );

System.out.print( "8.インスタンスメソッド " );
sup.instanceMethod();
}
}

「結果」
実験1
1.クラス変数      90
2.クラスメソッド    staticField = 90
3.インスタンス変数   900
4.インスタンスメソッド instanceField = 900
実験2
5.クラス変数      10
6.クラスメソッド    staticField = 10
7.インスタンス変数   100
8.インスタンスメソッド instanceField = 900

納得が行かないのは7のところです。

以上よろしくお願いいたします。

Javaの言語仕様(?)についてお教え下さい。

参照変数の型がインスタンスのスーパークラスの型の時、クラス変数/メソッドとインスタンス変数/メソッドの見え方が納得いかずに困っています。

以下のような条件の時です。
  ・クラスが2つあり、1つはもう1つのクラスを継承しています。
    それぞれを「スーパー」「サブ」と以下で呼びます。
  ・インスタンスは"サブ"の型です。
  ・上記インスタンスへの参照変数は"スーパー"のクラスの型です。
  ・"スーパー"、"サブ"ともに【同名】の「...続きを読む

Aベストアンサー

この辺りは「なんで?」、「どうして?」とかって考え出すと、かなり難解な所ですね。私自身、SJC-Pを受験する際も「『親 new 子』はOK。」みたいな感じで機械的に覚えていましたからね。(コバリアント[共変戻り値]とかも、何となしには分かるけど、未だに使いこなすレベルまでにはなってないなあ。)

>「なぜこうなるか」について説明がある文献、サイトなどありましたらお教えください。

取り敢えずは、いつものようにお勧め過去ログ。

Javaのメモリの管理
http://oshiete1.goo.ne.jp/qa1797536.html
staticのメリット、デメリット
http://oshiete1.goo.ne.jp/qa1355755.html

ただ、文章ばかりだと何がなんだかいまいち分からないと思うので、イラスト付きのはこっち。

HOME > Java開発Tips > Technology & Programming
よくある誤解、あやふやな知識をQ&A形式で総整理!
Javaの“常識”、“非常識”
第2回 言語仕様編
http://www.itarchitect.jp/technology_and_programming/-/27052-5.html

JVM のメモリ構造
http://www.nextindex.net/java/perform/storage.html

用は、サブクラスによるオーバーライド(メソッドの再定義)っていうのは、具体的にはJVMスタックによって実現されているわけですね。

で、私の方はどうかというと、以下のサイトでも見ながら何か面白いものが作れるかなあと考えていたのでしたが、全然ダメでした。(まだまだ修行が足りないなあ・・。)

com.sun.jdi
インタフェース StackFrame
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/jpda/jdi/com/sun/jdi/StackFrame.html

参考URL:http://www.gihyo.co.jp/books/syoseki-contents.php/4-7741-1361-1

この辺りは「なんで?」、「どうして?」とかって考え出すと、かなり難解な所ですね。私自身、SJC-Pを受験する際も「『親 new 子』はOK。」みたいな感じで機械的に覚えていましたからね。(コバリアント[共変戻り値]とかも、何となしには分かるけど、未だに使いこなすレベルまでにはなってないなあ。)

>「なぜこうなるか」について説明がある文献、サイトなどありましたらお教えください。

取り敢えずは、いつものようにお勧め過去ログ。

Javaのメモリの管理
http://oshiete1.goo.ne.jp/qa1797536.ht...続きを読む

Qシアトル・空港で待ち8時間

来月、ノースウエスト航空でシアトル3日間→カルガリー4日間→シアトル経由で日本に帰国します。
帰国時、カルガリーを早朝の便で発つため、シアトルの空港に朝7時についてしまい、午後2時45分のシアトル→日本の飛行機まで約8時間時間が空いてしまいます。

旅行代理店に、その場合空港から出てもいいのか聞いたところ「その場合はカルガリー空港で、カルガリー→シアトルの分の航空券だけ発券してもらい、シアトルについたら再度シアトル→日本のチェックインをしなければならない。荷物も一度ピックアップして、また預けなおさなければならない」
と言われたのですが、そうなのでしょうか?
それとも、その手続きは、空港外に出る、出ないに関わらずしなければならないのでしょうか?

個人的には、カルガリー空港内にてアメリカ入国審査を通るはずなので、シアトルに着いて空港から外に出るのは特に問題ないと思うのですが・・・

どなたか、ご存知の方がいらっしゃいましたら教えていただければ幸いです。宜しくお願いします。

Aベストアンサー

>そうなのでしょうか?
違います。
>問題ないと思うのですが・・・
そのとおり。
旅行会社の係員はあてにしないほうが賢明です。
常に自己保身で答えてます。

カルガリーで日本まで荷物は預けられます。
搭乗券も二枚(カル-シア-日本)受け取れます。
カルガリーのアメリカ入国審査時に受け取るI-94Wの半券は必ずシアトル搭乗時係員に返却して下さいね。

Qクラス、メソッド、プロパティ、変数などの意味は?

いろんなサイトやネットでいろいろ調べたのですが、
よく分かりませんでした。自分なりに考えたことですが、
(1)~(6)の用語の内容とコード上での色付けは正しいでしょうか?

(1)クラス(緑枠)
コンストラクタ、メソッド、プロパティを一括りにまとめたパッケージのこと。
つまり、functionの【{】と【}】の間にあるもの。

(2)オブジェクト(青枠)
関数。すなわち「複数の物や動作を入れる物」。
つまりfunctionで始まるものをオブジェクトと呼ぶ。

(3)コンストラクタ(= クラス名または関数名)(紫枠)
「構築子」のこと。オブジェクトを作る名前の部分。
つまりfunction直後に付ける関数名(クラス名)をコンストラクタと呼ぶ。

(4)プロパティ(赤枠)
「特徴」のこと。
つまりfunction内で指定された変数(var b)をプロパティと呼ぶ。
function a(){var b;};

(5)メソッド(水色枠)
「動作」のこと。
つまりオブジェクト(functionで始まるもの)が
変数(var b)に指定された場合はメソッドと呼ぶ。
var b = function a(){};

(6)変数(灰色枠)
function外で指定された変数(var b)は、変数と呼ぶ。
function a(){};
var b;

いろんなサイトやネットでいろいろ調べたのですが、
よく分かりませんでした。自分なりに考えたことですが、
(1)~(6)の用語の内容とコード上での色付けは正しいでしょうか?

(1)クラス(緑枠)
コンストラクタ、メソッド、プロパティを一括りにまとめたパッケージのこと。
つまり、functionの【{】と【}】の間にあるもの。

(2)オブジェクト(青枠)
関数。すなわち「複数の物や動作を入れる物」。
つまりfunctionで始まるものをオブジェクトと呼ぶ。

(3)コンストラクタ(= クラス名または関数名)(紫枠)
...続きを読む

Aベストアンサー

JSは見かけによらず奥が深くて、他の言語とは様相が違います。
言葉の使い方もかなり違う上に混同しやすいので要注意です。

1) クラス
Javascript(以下JS)はオブジェクト指向言語の「雰囲気」を若干まねていますが、
基本的には prototype という機構を使ってオブジェクトを若干便利にしています。
クラスという概念はないわけではないですが希薄です。
2) オブジェクト
Javaや perl でゆうところのハッシュ、.net の Dictionary が JS の
オブジェクトです。
3) ハッシュ
キーと値をペアでいくつでも格納できるものです。
JS では オブジェクト=ハッシュで、関数もハッシュでありオブジェクトでもあります。
4) コンストラクタ
オブジェクトを実行時に構築するための関数です。
5) 関数
実行コードを持つオブジェクトです。
関数は実行できますが、オブジェクトでもあります。
関数はオブジェクトなので変数に代入したり、プロパティを持つことができます。
#関数がオブジェクトであることと、コンストラクタがオブジェクトを作ることを混同しないでください。
#コンストラクタはオブジェクトを作りますが、関数オブジェクトを作るわけではありません。
6) プロパティ
ハッシュ(オブジェクト)に格納されたキー値ペアのこと。つまり名前付きのデータです。
7) メソッド
オブジェクト(ハッシュ)にプロパティとして格納された関数オブジェクト
8)変数
実はスコープチェーンを通して見える、ローカルオブジェクト(ハッシュ)、
又はグローバルオブジェクト(ハッシュ)のプロパティです。

JSは見かけによらず奥が深くて、他の言語とは様相が違います。
言葉の使い方もかなり違う上に混同しやすいので要注意です。

1) クラス
Javascript(以下JS)はオブジェクト指向言語の「雰囲気」を若干まねていますが、
基本的には prototype という機構を使ってオブジェクトを若干便利にしています。
クラスという概念はないわけではないですが希薄です。
2) オブジェクト
Javaや perl でゆうところのハッシュ、.net の Dictionary が JS の
オブジェクトです。
3) ハッシュ
キーと値をペアでいくつでも格納できる...続きを読む

Qシアトル タコマ 空港

9月にアメリカ旅行計画しています。使用航空会社はユナイテッドです。帰路オレゴン州ポートランド空港からシアトル タコマ空港を経由して成田に戻る予定です。シアトル タコマ空港が乗り換えで分かりにくいと聞きますが ユナイテッド航空の アメリカ 国内線
(ポートランド ー シアトル)の到着ゲート シアトル ー 成田の
出発ゲート ご存知の方ありましたら教えてください。

Aベストアンサー

 ポートランド → シアトル・タコマ → 成田 でしたら
まったく心配要りません。すべてのユナイテッド便は
Nターミナルから発着します。 ※国際線到着を除く

 Nターミナルはメインターミナルから離れた沖合いに
ポツンと建っており、四角いビルの四面にゲートが並ぶ
形状になっています。なのでどのゲートに到着しようと、
同じターミナルの同じフロアで乗り換えるだけです。

 ちなみにポートランドからの便は N12 に到着する
ことが多く、成田便は N14 から出発することが多いです。

・シアトルタコマ空港 Nターミナル見取り図
http://www.portseattle.org/about/maps/northsatellite.shtml

Qクラスやメソッドが理解できません

今javaを勉強中なのですが、クラスやメソッドで生きず待ってしまいました。

メソッドの定義は

戻り値の型 メソッド名(引数リスト)

 文;
 ・・・
return 式;
 }

ですが、メソッドから返されえる値を戻り値といますよね?呼び出し元に値を返すってどういうことなのでしょうか?

int getNum()
{
System.out.println("調べました")
return num;
}

たとえば、上記のようなものですが。もしも、このメソッドを呼び出すと、”戻り値”が戻ってくるわけですが、これはgetNumという変数のなかに計算式が入っている?という考え方でいいのでしょうか?

よろしくお願いいたします。

Aベストアンサー

>これはgetNumという変数のなかに計算式が入っている?
>という考え方でいいのでしょうか?

まあ、考えやすい考え方でいいと思いますが…。
(「計算式までもが入っている」とは、あんまり考えないかも)
---

”「ソースコード上のgetNum()という記述」(つまり
メソッド呼び出し)自体が「値を持つ」”

と考える。
その値の大きさは、もちろん「戻り値」に等しい。
(※または、
getNum()という「変数もどき」が「一時的に」作られ、
そこに戻り値が格納されている、
というイメージでもいいかも)
---

つまり、メソッド定義が
int getNum(){
 …
 <中略>
 …
 return 9;
}
であるメソッドgetNum()があったとすれば、

たとえばソースコード上で
「a + getNum() * b」
などと記述されていれば、それはもう
「a + 9 * b」
ということにほかなりません。

たとえばソースコード上で
「if(1>getNum())」
などと記述されていれば、それはもう
「if(1>9)」
ということにほかなりません。

たとえばソースコード上で
「System.out.println(getNum())」
などと記述されていれば、それはもう
「System.out.println(9)」
ということにほかなりません。

つまり、「戻り値は"どこに"返るのか?」といえば、
それは
「ソースコード上の「メソッド呼び出し」されている、まさにその場所」
に"返ってくる"。(←これ、説明としておおいに「アバウト」だけど^^;)
---

イメージつかめたかな? 簡単でしょ?
(#2さんの回答と同じ)
---

>えーと戻り値は一度、変数に納入しないと、使用できないんでしょうか?

そんなことはないです。
別の変数に格納したい場合は、格納しますし、
そうする必要がなければ、めんどくさいので格納しません。
(※上記のソースコード例を参照)

よく、boolean型を戻り値とするメソッドを使って
if(hasNext()){

}
とか
while(isLoop()){

}
などという記述は、よく見かけます。シンプルでカッコイイでしょ?

>これはgetNumという変数のなかに計算式が入っている?
>という考え方でいいのでしょうか?

まあ、考えやすい考え方でいいと思いますが…。
(「計算式までもが入っている」とは、あんまり考えないかも)
---

”「ソースコード上のgetNum()という記述」(つまり
メソッド呼び出し)自体が「値を持つ」”

と考える。
その値の大きさは、もちろん「戻り値」に等しい。
(※または、
getNum()という「変数もどき」が「一時的に」作られ、
そこに戻り値が格納されている、
というイメージでもいいかも)
--...続きを読む

Qアメリカ、シアトルからソルトレイクへの乗り継ぎ

デルタ航空で成田空港からシアトル経由でソルトレイクまで行きます。
シアトルから乗り継ぐのは初めてなので、迷わず行けるか少し不安です。
又、この場合預けた荷物はシアトルで一度ピックするのでしょうか?
乗り継ぎで注意するポイント等詳しい方がいたら教えて下さい。
宜しくお願いします。

Aベストアンサー

アメリカでは経由便や乗り継ぎ便であっても最初に入国する地にて、入国審査と税関申告があります。ここで荷物をピックするのは、セキュリティチェックのためでなく税関申告のためですね。

シアトル空港で入国審査と税関申告が終わったら再度荷物預けに持っていき、それから搭乗口に向かいます。搭乗口がもし別のターミナルでしたらシャトルに乗って移動になりますので、空港の案内表示板をよくご確認ください。

ちなみに、アメリカ国内で乗継する場合は乗継地で必ずピックアップすることになっているわけではありません。

アメリカの全ての空港ではありませんが、日本からアメリカの空港を経由しての第三国へ乗り継ぎ、または第三国からアメリカの空港を経由して日本へ乗り継ぎをする場合に預け手荷物を、最終目的地までスルー出来る空港と航空会社があります。これをITI(インターナショナル・トゥ・インターナショナル)といいます。

アメリカン航空ならダラス/フォートワース空港 、コンチネンタル航空ならヒューストン空港、デルタ航空ならアトランタ空港では荷物をピックアップしないで最終目的地までスルーできます。

また帰国時にアメリカ国内空港で乗継する時に、スーツケースのセキュリティチェックがないわけではありません。

現在、空港での預け手荷物のセキュリティーチェックは、航空機に搭載されるまでの間に自動的に検査される「インライン・スクリーニング・システム」になっていて、荷物がコンベアーを移動中にセキュリティ確認と荷物の仕分けが同時に行なわれています。ですので乗継地でわざわざ荷物をピックアップしてセキュリティチェックする必要がないのです。

アメリカでは経由便や乗り継ぎ便であっても最初に入国する地にて、入国審査と税関申告があります。ここで荷物をピックするのは、セキュリティチェックのためでなく税関申告のためですね。

シアトル空港で入国審査と税関申告が終わったら再度荷物預けに持っていき、それから搭乗口に向かいます。搭乗口がもし別のターミナルでしたらシャトルに乗って移動になりますので、空港の案内表示板をよくご確認ください。

ちなみに、アメリカ国内で乗継する場合は乗継地で必ずピックアップすることになっているわけではあ...続きを読む

Qクラスの作成 オブジェクトの生成 メンバ変数へのアクセス

Person というクラスを宣言し、main メゾットで new 演算子を使ってPerson オブジェクトを作成。さらに、main メゾットでインスタンス変数に値を代入して表示したい。

Person クラスのインスタンス変数には、名前 年齢 給料 を用意する。
変数のデータ型は、順に String , int float です。
Person クラス以外で main メゾットを作成する。

初心者です、本は結構読んだのですが、なかなかわかりませんでした。
おしえてください。

Aベストアンサー

ANo4,6です
原因が分かりました。
hivagonnさんは
class Person と宣言すべきところを class Person1 としていませんか。


人気Q&Aランキング

おすすめ情報