TOP > Java > クラス宣言と修飾子 |
クラス作成時の注意点
(package) → (import) → class※()はあった際。
クラスに使えるアクセス修飾子
「クラスにアクセスする」とは、以下の3つのパターンがある。
クラスに付けれるアクセス修飾子[デフォルトアクセス]
デフォルトアクセスの例
//TestDog.java package dog ; class TestDog{ } //TestCat.java package Cat ; import dog.TestDog ; class TestCat extends TestDog{ } TestCatはTestDogを継承したいが、TestDogはデフォルトアクセスなのでアクセスできない。よって、TestDogはコンパイルできるが、TestCatはコンパイルできない。
これをコンパイルできるようにするには、「同一のパッケージにする」もしくは、「TestDogクラスをpublicクラスにする」のどちらかをしなければならない。
クラスに付けれるアクセス修飾子[publicアクセス]
クラスをパブリックアクセスにすると、全てのパッケージの全てのクラスに対してアクセスできるようになる。他のパッケージに属しているクラスにアクセスするには、そのパッケージをパブリッククラスにし、そのパッケージをインポートすればよい。
publicアクセスの例
//TestDog.java package dog ; public class TestDog{//publicをつける } //TestCat.java package Cat ; import dog.TestDog ; class TestCat extends TestDog{ } ファイナルクラス(final)
クラスをfinalで宣言すると、そのクラスからサブクラスが作れなくなる。ファイルを拡張することができなくなり、継承しようとするとコンパイルエラーになる。使用するケースはそのクラスのメソッドをオーバーライド(上書き)されたくない時に使用する。
finalと一緒に宣言できる修飾子は、「public」、「strictfp」
final修飾子の例
//TestDog.java package dog ; public final class TestDog{//final修飾子をつける } //TestCat.java package Cat ; import dog.TestDog ; class TestCat extends TestDog{ } 抽象クラス(abstract)
「abstract」修飾子で宣言されたクラスを抽象クラスという。以下に抽象クラスの特徴を示す。
abstract修飾子の例
abstract class Test{//抽象クラス abstract int add(int a , int b) ;//抽象メソッド } class TestSub extends Test{//抽象クラスを継承 int add(int a , int b){//add()メソッドを実装 return a + b ; } } strictfp修飾子
strictfpで宣言した場合は、そのクラスに含まれているメソッドコードが浮動小数点に関してIEEE754基準規則に準拠する事を意味する。この修飾子はメソッドにも使える。また、他の修飾子とも組み合わせ仕様できる。
|
Copyright 2007 ためになるホームページ All Rights Reserved. |