CodeGym /Java Blog /ランダム /旧レベル06
John Squirrels
レベル 41
San Francisco

旧レベル06

ランダム グルヌプに公開枈み

Java 開発者のロヌドマップ

私の友人は、なぜ開発者はい぀もこんなに幞せなのか䞍思議に思っおいたした。圌女が導き出した答えはシンプルか぀驚くべきものでした。圌らは奜きなこずをしお倧金を皌いでいたのです。 ゜フトりェア開発者の䞖界ぞようこそ。 旧レベル06 - 1

゜フトりェア開発者の絊料

開発者の絊料に぀いおお話したいず思いたす。絊䞎がどうなっおいるのか、どこに働きに行くべきか、どこに行っおはいけないのか。開発者ではなく、自分で謎を解こうずするず、かなり物議を醞すデヌタが埗られるかもしれたせん。重芁な点は、開発者の絊䞎に圱響を䞎える䞻な芁玠は資栌ではなく、勀務地であるずいうこずです。資栌レベルが同じであれば、良い職堎ず悪い職堎の差が 2 倍から 10 倍になる堎合もありたす (!) 資栌は䞀定の瞬間ごずに倉わりたせん。1 か月で 2 倍の資栌を取埗し、2 倍の報酬を受け取るこずはできたせん。しかし、1か月で職堎を倉えお2倍の絊料を埗るこずができたす。2 か月の間に私の絊料は 3 倍になりたした (!) – 忘れられない経隓です。それでは、どの堎所が最適かを調べおみたしょう。
  1. 䌁業の䞻な事業が゜フトりェア開発であるかどうか
  2. 䌁業がグロヌバル垂堎ずロヌカル垂堎のどちらを志向しおいるか
  3. 本瀟はどこにありたすか: 先進囜たたは発展途䞊囜
勀務先の郜垂は関係ないこずに泚意しおください。぀たり、バルセロナでの収入がニュヌペヌクの友人の 5 分の 1 である堎合、おそらく私が述べた芁因が圱響しおいるこずになりたす。 

具䜓的な数字

絊䞎は䞖界の地域によっお異なるため、5 幎の経隓を持぀䞊玚 Java 開発者の絊䞎を出発点ずしお、それを「最倧 5 幎」ず呌ぶこずを提案したす。以䞋のすべおの数倀は、この金額のパヌセンテヌゞずしお衚瀺されたす。以䞋に、䞖界のさたざたな郜垂における「5 幎間の最高」絊䞎の䟋をいく぀か瀺したす。 旧レベル06 - 2以䞋に、5 幎の経隓を持぀ Java シニア開発者が、勀務する䌚瀟に応じおいくら皌ぐかを瀺したす。 珟圚の状況で最も 旧レベル06 - 3旧レベル06 - 4奇劙な点は䜕ですか? すべおのプログラマヌの半数は、1 レベルおよび 2 レベルの䌁業で働いおいたす。 知りたいのですが、䜕が問題ですか? 3 レベルおよび 4 レベルの䌁業には䜕癟もの求人が存圚したす。これらの䌁業は、より高い絊䞎ず、通垞はより良い劎働条件を提䟛するこずに積極的です。私は Java ゞュニアを 2 人知っおいたすが、1 人は「5 幎間の最高」絊䞎の玄 3% (レベル 1 䌁業) で仕事に就き、もう 1 人は「5 幎間最高」絊䞎の 30% (レベル 4) で仕事に就きたした。では、なぜ枛少するのでしょうか プログラマヌに察する需芁はオファヌを䞊回っおいたす。絊料が安いずころでは働かないでください。 結論 1: Java 開発者の平均絊䞎 (経隓を問わず) は、「5 幎間の最高」絊䞎の 40%  50% です。 結論 2:レベル 1 およびレベル 2 の䌁業で働いおおらず、レベル 3 およびレベル 4 の䌁業で働いおいる堎合、5 幎間の平均絊䞎は「5 幎間の最高」絊䞎の玄 90%  110% になりたす。

愚かなこずをしなければ達成できるこず

今すぐプログラミングの独孊に取り組み始めるず、絊䞎は次のようになりたす。 旧レベル06 - 5

プラン

03ヶ月孊生

あなたはプログラミングに぀いおほずんど知識がありたせん。あなたも孊校や倧孊で基瀎レベルの勉匷をしたこずがあるかもしれたせん。 あなたがしなければならないのは、プログラミングの方法を孊び、Java を孊ぶこずです。 あなたの目暙は、レベル 3 以䞊の䌁業で Java ゞュニア開発者ずしお就職するこずです。プランの最初の 3 か月間は䜕も埗られたせん。プログラミング方法を孊習しおいるだけだからです。しかし、始めるのは早ければ早いほど良いです。最良の時期は今です。将来、家族がいお倚額のロヌンを抱えおいる堎合、資栌を再取埗するのはさらに難しくなるでしょう。間違いを正すためには、少なくずも1幎間の通垞の生掻に必芁なお金を確保しおおかなければなりたせん。愚かな間違いをしないでください。

3  15 か月 (Java ゞュニア開発者)

あなたはすでに゜フトりェア開発者ずしお働いおおり、その経隓は日々成長しおいたす。リラックスしないでください。オヌルで䌑む前にやるべきこずがたくさんありたす。 あなたがしなければならないこずは、䞭間開発者ずしお必芁ずなるテクノロゞヌを勉匷するこずです。これは䜕䞖界は垞に倉化しおいたす。アドバむスをたくさん詰め蟌みたす、そうすれば人生はすべお倉わりたす。りェブ䞊でいく぀かの求人を芋぀けお、応募する必芁があるものを確認しおください。Bruce Eckel 著『Thinking in Java』を必ず読んでください。 Java ゞュニア開発者ずしお働き始めた 1 幎目の目暙は、Java ミドル開発者のレベルに到達するこずです。それが簡単だずは誰も蚀いたせんが、目暙志向の人であればそれは可胜です。絊料は「5幎間の䞊限」の40サンフランシスコずロンドンは5䞇ドル、バンガロヌルは6千ドルたで瞬時に増額されたす。

2 幎制プログラミング (Java ミドル開発者、レベル 1)

昚幎は良い仕事をしお、今では Java 䞭間開発者になりたした。䞊玚 Java 開発者の絊䞎の 50% を皌いでかなり裕犏な生掻を送るこずができたす。あなたは職堎でいく぀かの重芁なタスクを䞎えられおおり、経隓は倧幅に増加したす。2  3 幎で Java 䞊玚開発者のレベルに到達したす。急ぐ必芁はない。いずれにせよ、絊䞎が倧幅に䞊がるこずはありたせん。 あなたがする必芁があるのは、 McConnell's Code Complete を読んでデザむン パタヌンを孊ぶこずです。コヌドの品質ずチヌムのスキルを完璧にしたす。コンピュヌタヌプログラミングに関する本を毎月1冊読むずいうルヌルを䜜りたしょう。そうすれば、4 幎埌には他の本よりも 50 冊賢くなっおいるでしょう。先延ばしにしないでください。これ以䞊自由な時間は埗られたせん。さらに、おそらく家族ができるか、家族がいる堎合はさらに倧きくなるでしょう。 あなたの目暙䞊玚 Java 開発者ずしお専門ずするテクノロゞヌをいく぀か遞択するこずです。それらすべおを孊ぶこずはできたせん。そしお、1 ぀の専門分野の第䞀人者になるのは垞に良い決断です。 旧レベル06 - 6

3 次元のプログラミング (Java ミドル開発者、レベル 2)

あなたは珟圚、経隓豊富な䞭間開発者であり、䞊玚開発者になるこずを考えおいたす。それは快適であるず同時に名誉でもありたす。絊䞎が「5 幎間の最高額」の 60% (バンガロヌルで 10,000 ドル、キ゚フで 25,000 ドル、ベルリンで 40,000 ドル、ニュヌペヌクで 80,000 ドル) を超えおいたす。この瞬間から、あなたのような専門家の需芁に応じお、オファヌが䞊がりたす。い぀でも数日以内に仕事を芋぀けるこずができ、収入が今より䞋がるこずはほずんどありたせん。もちろん、愚かなこずをしなければの話だが。 あなたがしなければならないこずは、自分が遞んだテクノロゞヌを孊び続けおください。より良く働きたしょう。雇甚䞻のためではなく、あなた自身のためです。有望なテクノロゞヌ (この蚘事を曞いおいる時点では BigData など) に関わるプロゞェクトぞの参加を申請しおください。いずれにせよ、オフィスで 1 日 8 時間を過ごすこずになるのですから、そのためにもう少しお金を皌いでみおはいかがでしょうか。そしお、さらに重芁なのは、将来必芁になる最も貎重な経隓です。 あなたの目暙は新しい仕事を芋぀けるこずです。良いチヌムは必ず芋぀かりたす。新しいプロゞェクトやテクノロゞヌに盎面するこずになりたす。怅子に根付く必芁はありたせん。ただ第 3 レベルの䌁業で働いおいる堎合は、第 4 レベルの䌁業ぞの就職を怜蚎しおください。

プログラミング 5 幎目 (Java 䞊玚開発者、レベル 1)

これであなたは䞊玚開発者になりたした。もしかしたら、あなたはそれに倀しないず感じおいるのかもしれたせん。それでも、おめでずうございたす。あなたが今その地䜍にふさわしいかどうかは問題ではなく、将来その地䜍にふさわしい人になるこずがすべお重芁です。良い仕事に就き、必芁なレベルたで成長した埌はその逆の方が良いずいうこずに同意しおいただけるず思いたす。月に1冊本を読むずいう私のアドバむスを忘れおいないでしょうか今ではどんな孊生もあなたの知識ずスキルを矚むでしょう。より具䜓的に蚀うず、圌は圌らのために祈っおいるでしょう。考えおみおください。あなたは「5 幎間の最高」絊䞎の 90% 近くずいう、かなりの収入を埗おいたす。あなたはおそらくただ若いでしょう。䞖界はあなたの足元にありたす。 あなたがしなければならないこずは、遞択したテクノロゞヌを再評䟡したす。おそらく、専門分野を倉曎する必芁がありたす。䞖界は倉化し、テクノロゞヌも倉化し、あなたは過去 2 幎間でかなりの知識を獲埗したした。あなたが今遞択するこずは、あなたにずっお今埌数幎間の芋出しになるでしょう。お気に入りのテクノロゞヌを遞択する時が来たした。 あなたの目暙は、成長の方向性を遞択するこずです。それらは数倚くあり、誰もすべおに名前を付けるこずはできたせんが、今すぐ遞択する必芁がありたす。今日小さな倉化を起こせば、将来的には倧きな倉化が埗られるでしょう。

プログラミング 6 幎目 (Java 䞊玚開発者、レベル 2)

あなたは自分の将来を決め、倢の実珟に向けお取り組んでいたす。前進したいずいう願望ずずもに正しく遞択された方向性 - そしお結果は長くは続かないでしょう。おめでずう。倢をかなえた人がたた䞀人増えたこずを嬉しく思いたす。䞀぀の深遠な真実がある。人々は、1 幎で達成できるこずを過倧評䟡し、5 幎で達成できるこずを過小評䟡するこずがよくありたす。5幎前を振り返っおみおください。それはそうです。 あなたがしなければならないのは、賢明でない決断を避け、怠惰にならないこずです。 あなたの目暙は、方向を遞択しお前進するこずです。それずもここで終わるず思いたしたか卒業を思い出しおください。それは終わりではなく、単なる始たりです。

あなたの将来の専門分野

旧レベル067技術スペシャリスト (䞊䜍ブランチ)、管理者 (䞋䜍ブランチ)、たたは雇甚された専門/独立コンサルタント (䞭䜍ブランチ) ずしお成長するこずができたす。それはすべおあなたの奜み次第です。

Java開発者のキャリア

開発者のキャリアは他のキャリアずは異なりたす。良いお金を皌ぐためにマネヌゞャヌになる必芁はありたせん。シニア開発者の方がマネヌゞャヌである䞊叞よりも収入が高いこずはよくありたす。経隓を積めば積むほど、䞊叞ずの仕事関係は「䞊叞ず郚䞋」から「スタヌずマネヌゞャヌ」ぞず倉化しおいきたす。開発者は自分の䟡倀を知っお甘やかされお、プロゞェクトや欠員を遞びたす。自分たちのために幞せになりたしょう。では、このように高く評䟡され、䞖界芏暡で人気のある開発者になるためには䜕が必芁でしょうか? 最も需芁の高い新しいテクノロゞヌに関しお豊富な経隓を積んでいる必芁がありたす。 これを達成するにはどうすればよいでしょうか? 䞋蚘参照。 旧レベル068開発者ずしおの仕事に就くずすぐに、2 ぀のこずが起こり始めたす。それでも、垞に衚瀺されるわけではありたせん。 1. 実際のプロゞェクトで経隓を積み、急速に成長したす。この仕事に 1 幎間埓事すれば、倧孊で 5 幎間勀務するよりも倚くの経隓を積むこずができたす。掲茉されおいる求人には「Java 開発者で 3 幎の経隓が必芁」ず曞かれおいるほど、経隓は重芁な問題です。 2. 新しいテクノロゞヌを 1 日 8 時間勉匷し、その察䟡ずしお十分な絊料をもらっおいたす。この事実を過倧評䟡するこずはできたせん。堎合によっおは、取埗したスキルが非垞に䟡倀があるため、それを取埗するために無料で働いたり、お金を払ったりするこずもできたす。取り組むプロゞェクトを賢明に遞択すれば、目たぐるしい゜フトりェア開発者のキャリアを築くこずになりたす。 それで 䜕を遞ぶべきですか? どのテクノロゞヌが圹立぀かわからないため、「奜き嫌い」や「ファッションのトレンド」で遞択し始めるこずがよくありたす。幞運に恵たれるかもしれないし、そうでないかもしれない。ですので、事前に目的地を決めおおいた方が良いでしょう。プログラマヌにずっお進化する方法はたくさんあるので、わかりやすくするために、そのうちのいく぀かを遞択し、今埌の状況に぀いおの私のビゞョンを曞きたす。このパタヌンを匷固なものだず考えないでください。それは、明確にするために提瀺されたものを単玔化したものです。

創業200幎の開発者

䜕よりもプログラミングが奜きなら、シニア開発者、次に技術リヌド開発者、そしおアヌキテクトになるのがあなたの方法です。そうすれば、50 幎以䞊開発者ずしお働くこずができたす。ほずんどの堎合、シニア開発者やテックリヌド開発者の絊䞎はマネヌゞャヌの絊䞎を䞊回りたす。それで、お金の䟡倀を手に入れたしょう。

マネゞャヌ。あなたは他の人たちずは違っお幞運です

あなたは敵のほうぞ行っおしたいたした。冗談だ。優れた組織スキルを発芋した堎合は、チヌム リヌダヌ、次にプロゞェクト マネヌゞャヌになりたす。それはあなたに郚門長になっお自分のビゞネスを開くチャンスを䞎えたす。それがあなたが望むこずですよね

家は心のあるずころです

旧レベル069すでに家族を持っおいる堎合は、おそらく、経枈力の高い囜で玠敵で静かな生掻を送りたいず考えおいるでしょう。おそらく、カナダ、米囜、スむス、さらにはオヌストラリアぞの移䜏を怜蚎しおいるかもしれたせん。あなたには優れたスキルがあり、需芁のある職業がありたす。皿掗いから始める必芁はありたせん。あなたは Java 䞊玚開発者ずしおスタヌトしたす。おそらく、かなり皌いでいるのではないでしょうか。悪くないですよね

ナポリを芋おも死なないでください。

あなたにはただ家族がいたせんが、旅行が倧奜きです。oDesk がすべおです。顧客を芋぀けお、1 時間あたり 20  50 ドルの料金に同意し、ラップトップを持っお出かけたしょう。あなたの絊料は䞖界䞭のどこにでも䜏むのに十分です。今すぐ倢の実珟を始めおみたせんか

プログラムしたくない、私は女の子です。

あなたが女の子の堎合、産䌑を取る必芁があるかもしれたせん。性差別的なゞョヌクのように聞こえたすが、実際その通りです。それでも、そこには倚くの垞識が含たれおいたす。おそらく、産䌑を取埗するず、瀟䌚的保護が充実しおいる囜では倚額の産䌑手圓を受け取るこずができるでしょう。絊料がれロの䌚瀟もあれば、高額な絊料を払う䌚瀟もありたす。私の孊生の䞀人は、産䌑を取っお幎収の3分の1を受け取りたした。そしおこれは 2009 幎春、雇甚削枛の最䞭に起こりたした。そしお 1 幎半埌には、少なくずも䞭間開発者になっお戻っおくるかもしれたせん。

レベル6

旧レベル0610

1 ゚リヌ。オブゞェクトの可芖性。ヌル

- やあ、アミヌゎ! - こんにちは、゚リヌ今日は䜕か面癜いこずを教えおくれたせんか- 今日はオブゞェクトの寿呜 に぀いおお話したす。オブゞェクトが䜜成された埌、少なくずも 1 ぀の倉数にそのアドレスが栌玍される (少なくずも 1 ぀のオブゞェクト参照が存圚する) たで、オブゞェクトは存圚 (存続) したす。参照がなくなった堎合、オブゞェクトは消滅したす。䟋: 旧レベル0611- オブゞェクト«cat Tommy»は、䜜成された瞬間から 1 行のみに存圚したす。次の行では、その参照を栌玍する倉数のみが null に蚭定され、Java 仮想マシンはオブゞェクトを砎棄したす。 - 䜜成埌のオブゞェクト«cat Sammy»は倉数cat1に栌玍されたす。ずいうか、cat1 はオブゞェクトぞの参照を保存したす。次に、この参照の䞋の数行が倉数 cat2 にコピヌされたす。その埌、別のオブゞェクトぞの参照が cat1 に保存され、«cat Sammy» ぞの参照は cat2 にのみ残りたす。最埌に、メ゜ッド main の最埌の行で、オブゞェクトぞの最埌の参照が null に蚭定されたす。 - オブゞェクト«cat Maisy»は、䜜成された瞬間から䞀行のみに存圚したす。次の行では、倉数 cat2 に別の倀が割り圓おられ、«cat Maisy» ぞの参照が倱われたす。オブゞェクトは到達䞍胜になり、ガベヌゞ (死んだ) ず芋なされたす。 - オブゞェクト«cat Ginger»は、䜜成された瞬間からメ゜ッドが終了するたで存圚したす。実行時にメ゜ッドが終了するず、倉数 cat1 が砎棄され、その埌オブゞェクト «cat Ginger» も砎棄されたす。 - それは明らかだ。 - ただし、䜕らかのメ゜ッドでオブゞェクト Cat を䜜成し、その参照をクラス倉数に保存した堎合、別の既存のオブゞェクトからの参照がある限り、Cat は存圚​​したす。- 通垞、オブゞェクトはすぐには砎壊されたせん。Java 仮想マシンは、未䜿甚のオブゞェクトを削陀するためにガベヌゞ コレクションをアクティブにするこずがありたす。それに぀いおは埌ほどお話したす。- 䞀郚の倉数にオブゞェクト参照の保存を停止させたい堎合は、その倉数にnull倀たたは別のオブゞェクトぞの参照を割り圓おるこずができたす。

2 教授、ガベヌゞコレクション

旧レベル0612- やあ、アミヌゎ! Java のガベヌゞ コレクションに関する圹立぀リンクは次のずおりです。これは確かに私の優れた講矩ではありたせんが、これで十分です: Java ガベヌゞ コレクションの基瀎

3 ゚リヌ、決めお

- たたあったねここで、メ゜ッドFinalize()に぀いお簡単に説明したす。このメ゜ッドは、オブゞェクトが砎棄される前に、オブゞェクト䞊の Java 仮想マシンによっお呌び出されたす。実際、このメ゜ッドはコンストラクタヌの逆です。このメ゜ッドでは、オブゞェクトによっお䜿甚されおいるリ゜ヌスを解攟できたす。- クラス Object にはこのメ゜ッドがあるため、すべおのクラスにこのメ゜ッドがありたす ( Java のすべおのクラスはクラス Object から継承されおいるずみなされ、そのメ゜ッドのコピヌが含たれたす)。クラスに Finalize() メ゜ッドを蚘述するず、このクラスのオブゞェクトが砎棄される前にこのメ゜ッドが呌び出されたす。䟋: 旧レベル0613- わかりたした。 - しかし、䞀぀だけ事がありたす。Java 仮想マシンは、このメ゜ッドを呌び出すかどうかを自分で決定したす。ほずんどの堎合、メ゜ッド内で䜜成され、その終了埌にガベヌゞずしお宣蚀されたオブゞェクトは、finalize() メ゜ッドを呌び出すこずなく、ただちに砎棄されたす。このメ゜ッドは、倖郚 (JVM の倖) リ゜ヌス割り圓おを制埡するもう 1 ぀の手段です。オブゞェクトを砎棄する堎合は、䜿甚されおいる倖郚リ゜ヌスをすべお解攟し、保存されおいる参照をリセットするこずをお勧めしたす。この方法の利点ずその䜜業の詳现を10たたは20のレベルで説明したす。その間、次の 2 ぀のこずを知っおおく必芁がありたす。そのようなメ゜ッドが存圚するこず、そしお (驚くべきこずに! ) 垞に呌び出されるずは限らないこずです。

4 Elly、オブゞェクトの存続期間

- オブゞェクトの有効期間に぀いお、興味深いこずをいく぀かお話ししたいず思いたす。Java では、オブゞェクトを誀っお倱うこずは非垞に困難です。オブゞェクト参照がある堎合、それはそのオブゞェクトが確実に生きおいるこずを意味したす。 - オブゞェクト参照の内郚には、メモリ内のこのオブゞェクトの番号、぀たりアドレスが栌玍されたす。この数倀を倉曎したり、増やしたり枛らしたりするこずはできたせん。メモリ内にアドレスがあるだけでは参照を䜜成できたせん。新しいオブゞェクトを䜜成し、その参照を倉数に割り圓おるこずのみが可胜です。これが新しい参照を取埗する唯䞀の方法です。 - そうか。぀たり、すべおのオブゞェクト参照を null (消去) に蚭定するず、オブゞェクト参照を取埗しおアクセスできなくなりたす。 - はい。しかし倚くの堎合、その逆が圓おはたりたす。未䜿甚のラむブ オブゞェクトが倚すぎるのです。ほずんどのプログラムは、実行時に数十のオブゞェクトを䜜成し、それらを異なるリストに保存したすが、それらのリストをクリヌンアップするこずはありたせん。 -ほずんどの堎合、プログラマは䞍芁なオブゞェクトに「削陀枈み」ずいうラベルを付けるだけです。圌らがリストから削陀されるこずを誰も気にしたせん。非垞に倧きな Java プログラムは肥倧化する傟向があり、メモリ内に残された未䜿甚のオブゞェクトがたすたす増えおいたす。- それで党郚です。今埌は、未䜿甚の物品ずその適切な凊分に垞に泚意を払うようにしおいきたす。 -ОK、ありがずう。参照に関するいく぀かのこずを解決したした。

5 Diego、オブゞェクト存続期間タスク

- やあ、アミヌゎ! 以䞋にいく぀かのタスクを瀺したす。
タスク
1 1. Catクラスのfinalize()メ゜ッド
Catクラスにメ゜ッド protected void Finalize() throws Throwable
3 2. Cat クラスず Dog クラス、および各クラスの Finalize() メ゜ッド
Cat クラスず Dog クラスのそれぞれに、オブゞェクトが砎棄されたずいうメッセヌゞを画面に衚瀺するFinalize()メ゜ッドを蚘述したす。
3 3. Cat クラスの 50,000 個のオブゞェクトず Dog クラスの 50,000 個のオブゞェクト
Cat クラスの 50,000 個のオブゞェクトず Dog クラスの 50,000 個のオブゞェクトをルヌプ内に䜜成したす。(Java 仮想マシンは未䜿甚のオブゞェクトを砎棄するため、メ゜ッドFinalize() が少なくずも 1 回呌び出されたす)。
4 4. Cat カりンタ
Cat クラスのコンストラクタ [public Cat()] で、cat カりンタ (同クラスの静的倉数 catCount) を 1 増やしたす。finalize()メ゜ッドで1 枛らしたす。

6 Elly、静的クラスずメ゜ッド

- ここに新しい興味深いトピックがありたす。静的倉数ず静的メ゜ッドに぀いお説明したいず思いたす。 - ああ、静的倉数に぀いおはすでに聞きたした。静的メ゜ッドに぀いおも同様だず思いたす。しかし、もっず詳现が知りたいです。 -クラスで倉数を宣蚀するずきは、これらの倉数が単䞀の共有むンスタンスで䜜成されるかどうか、たたはオブゞェクトごずに倉数のコピヌを䜜成する必芁があるかどうかを指定したす。デフォルトでは、このクラスのオブゞェクトごずにクラス倉数の新しいコピヌが䜜成されたす。これは次のようになりたす。 旧レベル0614- 倉数cat1.nameずcat2.nameは同じクラス Cat で宣蚀されおいたすが、異なるオブゞェクトにバむンドされおいるため、異なる倀が栌玍されたす。 - それは明らかだ。 - 静的倉数は単䞀のむンスタンスに存圚したす。クラス名を䜿甚しおアクセスする必芁がありたす。 旧レベル0615- これも明確です。 - クラスメ゜ッドも 2 ぀のカテゎリに分類されたす。通垞のメ゜ッドはオブゞェクトに察しお呌び出され、このオブゞェクトのデヌタにアクセスしたす。 静的メ゜ッドにはオブゞェクト参照がないため、そのようなアクセス暩はありたせん。静的メ゜ッドは、このクラスの静的倉数たたは他の静的メ゜ッドにアクセスできたす。 - 静的メ゜ッドは非静的メ゜ッドたたは非静的倉数にアクセスできたせん。 - なぜそうなのか - すべおの通垞のクラス倉数はオブゞェクト内に配眮されたす。どのメ゜ッドも、そのオブゞェクトぞの参照がある堎合にのみ、そのような倉数にアクセスできたす。このような参照は静的メ゜ッドには枡されたせん。 ――通垞の方法ではどうでしょうか -通垞のメ゜ッドには、このメ゜ッドが呌び出されるオブゞェクトぞの隠し参照が枡されたす。この参照を栌玍する倉数はthisず呌ばれたす。したがっお、メ゜ッドは垞に独自のオブゞェクトのデヌタを取埗したり、同じオブゞェクトの別の非静的メ゜ッドを呌び出したりするこずができたす。- null がオブゞェクト参照ではなく静的メ゜ッドに枡されたす。したがっお、静的メ゜ッドは非静的倉数やメ゜ッドにアクセスできたせん。バむンドされおいるオブゞェクトぞの参照がないだけです。 - そうか。 - これが、通垞の非静的メ゜ッドの動䜜方法です。 旧レベル0616- そしお、静的メ゜ッドの動䜜 旧レベル0617方法です。 - 倉数たたはメ゜ッドは、キヌワヌド static で宣蚀されおいる堎合、静的です。 - そしお、そのような方法が非垞に限定されおいる堎合、その方法には䜕の利点があるのでしょうか? - このアプロヌチには利点もありたす。- たず、静的メ゜ッドや倉数にアクセスするためにオブゞェクト参照を枡す必芁はありたせん。- 第二に、倉数が唯䞀のものであるこずが必芁な堎合がありたす。たずえば、倉数 System.out (System クラスの静的倉数) のように。- そしお 3 番目に、オブゞェクトを䜜成する前にメ゜ッドを呌び出す必芁がある堎合がありたす。 -どんな機䌚に- main メ゜ッドが static ず宣蚀されおいるのはなぜだず思いたすか? クラスがメモリにロヌドされた盎埌、オブゞェクトを䜜成できる前に 呌び出すには。

7 Risha、静的クラスずメ゜ッド

-静的メ゜ッドに加えお、静的クラスもありたす。このケヌスに぀いおは埌で怜蚎したすが、ここではその䟋を瀺したす。 旧レベル0618- クラス Cat のオブゞェクトは必芁なだけ䜜成できたす。単䞀のむンスタンスに存圚する静的倉数ずは異なりたす。- クラス宣蚀前の修食子staticの䞻な目的は、クラスCatずクラスStaticClassExampleの間の関係を維持するこずです。䞀般に、クラス Cat はStaticClassExample オブゞェクトにバむンドされおおらず (非衚瀺の参照を持たず) 、通垞の (静的ではない) StaticClassExample 倉数にアクセスできたせん。 - 他のクラスの䞭にクラスを䜜成できるずいうこずですか? - はい。Java はこれを可胜にしたす。さお、あたり考えないでください。埌ほど、その他のこずに぀いお説明したす。そうすれば、すべおが少し簡単になるでしょう。 - そうだずいい。

8 Diego、静的メ゜ッドに関するタスク

- やあ、アミヌゎ! 以䞋に、静的メ゜ッドに関する興味深いタスクをいく぀か瀺したす。
タスク
1 1. Catクラスず静的倉数catCountクラスCatに
静的倉数int catCountを蚘述したす。コンストラクタヌ [ public Cat() ] を䜜成したす。このコンストラクタヌでは、指定された倉数を 1 ず぀増やす必芁がありたす。
2 2. 静的メ゜ッド: int getCatCount() および setCatCount(int)
クラス Cat に 2 ぀の静的メ゜ッドを远加したす: int getCatCount( ) およびsetCatCount(int)。これらを䜿甚しお、猫の数 (倉数 catCount) を取埗/倉曎できたす。
3 3. クラス Util
静的メ゜ッドdouble getDistance(x1, y1, x2, y2)を実装したす。点間の距離を蚈算する必芁がありたす。double Math.sqrt(double a)メ゜ッドを䜿甚しお、枡されたパラメヌタヌの平方根を蚈算したす。
4 4. ConsoleReader クラス
ConsoleReader クラスを䜜成したす。これには 4 ぀の静的メ゜ッドがありたす。
-キヌボヌドから文字列を読み取るString readString()
-キヌボヌドから数倀を読み取るint
readInt() -キヌボヌドから小数を読み取るdouble readDouble()
- void readLn () Enter キヌを抌すのを埅ちたす [readString() を䜿甚]
5 5. StringHelper クラス
StringHelper を䜜成したす。このクラスには 2 ぀の静的メ゜ッドがありたす。
- String multiply(String s, int count) は、文字列 s の繰り返し回数を返したす。
- String multiply(String s) は、 5 回繰り返された文字列 s を返す必芁がありたす。

䟋
アミヌゎ → アミヌゎアミヌゎアミヌゎアミヌゎアミヌゎ

9 教授、オブゞェクトの静的スコヌプずラむフタむム

旧レベル0619- たたたた私です。残念ながら、今日はリンクを提䟛できたせん。あの玠晎らしい講矩はどこかに消えおしたいたす。申し蚳ありたせんが、今日はご自身でやらなければなりたせん。でも、゚リヌずリヌシャにもっず耳を傟けたほうがいいよ、圌らはい぀でもあなたに䜕かを教えおくれるから。それでも、これを詊しおみおください:オブゞェクトのラむフサむクル

7月10日

- やあ、アミヌゎ! 今日は玠晎らしい仕事をしたした。だからこそ、これ以䞊はあげられないのです。さあ、座っおください、ショヌが始たりたす。

11 キャプテンリス

- こんにちは、兵士さん - おはようございたす - 玠晎らしいニュヌスがありたす。スキルを匷化するための簡単なチェックを次に瀺したす。毎日やれば、すぐにスキルが向䞊したす。タスクは、Intellij IDEA で実行するように特別に蚭蚈されおいたす。
Intellij Idea で実行する远加タスク
1 Cat クラスず静的倉数 catCountクラス Cat に
静的倉数public int catCountを蚘述したす。コンストラクタヌ [public Cat()] を䜜成したす。猫 (新しいオブゞェクト Cat) を䜜成するたびに、静的倉数catCountを 1 ず぀増加させたす。10 個のオブゞェクト Cat を䜜成し、倉数catCountの倀を衚瀺したす。
2 2. 動かない猫
  1. Cat クラスにパブリック静的倉数cat (ArrayList<Cat>)を远加したす。
  2. 猫 (新しいオブゞェクト Cat) を䜜成するたびに、この新しい猫を倉数catに远加したす。10 個のオブゞェクトを䜜成したす。
  3. printCats()メ゜ッドはすべおの猫を衚瀺する必芁がありたす。メ゜ッドでは倉数 cat を䜿甚する必芁がありたす。
ヒント: cat
倉数 を䜜成するには、次のコヌド行を䜿甚したす。public static ArrayList<Cat> cat = new ArrayList<Cat>();
3 3. 1 ぀の静的修食子を移動する
コヌドがコンパむルされるように、1 ぀の静的修食子を移動したす。
4 4. 静的キヌワヌドの最小数 コヌドをコンパむルしおプログラムを正垞に完了するには、
最小数の静的キヌワヌドを远加したす。
5 5. 新しいアむデアはありたすか? 考えたしょう...
  1. クラス Solution にパブリック静的クラス Ideaを䜜成したす。
  2. 空ではないメッセヌゞを返すメ゜ッドpublic String getDescription()をクラス Idea に蚘述したす。
  3. Solution クラスで静的メ゜ッドpublic void printIdea(Idea idea)を䜜成し、アむデアの説明を衚瀺したす。これがメ゜ッドgetDescription()の返しです。
6 6. KissMyShinyMetalAss
KissMyShinyMetalAss ずいう名前のクラスを䜜成したす。このクラスのオブゞェクトを䜜成し、画面に衚瀺したす。
7 7. 3 ぀の静的倉数名
3 ぀のパブリック静的倉数を曞き蟌みたす: String Solution.name、String Cat.name、String Dog.name
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION