publicメソッド
日本語 | 公用メソッド |
英語 | public method |
ふりがな | ぱぶりっくめそっど |
フリガナ | パブリックメソッド |
publicで修飾されたメソッド。
「public 戻り値 メソッド名(引数){ 実装 }」のように、メソッドの宣言の先頭にpublicが付けられたメソッド。
publicメソッドは制限が全くないメソッドである。クラスの内外を問わず呼び出すことができ、オーバーライドも可能。
だからといって「メソッドはとりあえずpublicにする」というのはやめた方がよい。privateメソッドやprotectedメソッドにできないかまず考慮し、publicメソッドにするのが適切な場合にのみpublicメソッドにする方がよい。
「public 戻り値 メソッド名(引数){ 実装 }」のように、メソッドの宣言の先頭にpublicが付けられたメソッド。
publicメソッドは制限が全くないメソッドである。クラスの内外を問わず呼び出すことができ、オーバーライドも可能。
だからといって「メソッドはとりあえずpublicにする」というのはやめた方がよい。privateメソッドやprotectedメソッドにできないかまず考慮し、publicメソッドにするのが適切な場合にのみpublicメソッドにする方がよい。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
NormalClass normalClass = new NormalClass();
// publicメソッドを別クラスから呼び出します。
normalClass.publicMethod();
// NormalClass#publicMethod()
// こうやって普通に呼び出せます。
// publicメソッドは普通にオーバーライドできます。
normalClass = new ExtendedNormalClass();
normalClass.publicMethod();
// ExtendedNormalClass#publicMethod()
}
}
/**
* フツーのクラス。
*/
class NormalClass
{
/**
* publicメソッド。
*/
public void publicMethod()
{
System.out.println( "NormalClass#publicMethod()" );
}
}
/**
* オーバーライドするクラス。
*/
class ExtendedNormalClass extends NormalClass
{
/**
* オーバーライドします。
*/
public void publicMethod()
{
System.out.println( "ExtendedNormalClass#publicMethod()" );
}
}
public class Sample
{
public static void main( String[] args )
{
NormalClass normalClass = new NormalClass();
// publicメソッドを別クラスから呼び出します。
normalClass.publicMethod();
// NormalClass#publicMethod()
// こうやって普通に呼び出せます。
// publicメソッドは普通にオーバーライドできます。
normalClass = new ExtendedNormalClass();
normalClass.publicMethod();
// ExtendedNormalClass#publicMethod()
}
}
/**
* フツーのクラス。
*/
class NormalClass
{
/**
* publicメソッド。
*/
public void publicMethod()
{
System.out.println( "NormalClass#publicMethod()" );
}
}
/**
* オーバーライドするクラス。
*/
class ExtendedNormalClass extends NormalClass
{
/**
* オーバーライドします。
*/
public void publicMethod()
{
System.out.println( "ExtendedNormalClass#publicMethod()" );
}
}
// Sample.java public class Sample { public static void main( String[] args ) { NormalClass normalClass = new NormalClass(); // publicメソッドを別クラスから呼び出します。 normalClass.publicMethod(); // NormalClass#publicMethod() // こうやって普通に呼び出せます。 // publicメソッドは普通にオーバーライドできます。 normalClass = new ExtendedNormalClass(); normalClass.publicMethod(); // ExtendedNormalClass#publicMethod() } } /** * フツーのクラス。 */ class NormalClass { /** * publicメソッド。 */ public void publicMethod() { System.out.println( "NormalClass#publicMethod()" ); } } /** * オーバーライドするクラス。 */ class ExtendedNormalClass extends NormalClass { /** * オーバーライドします。 */ public void publicMethod() { System.out.println( "ExtendedNormalClass#publicMethod()" ); } }