クラスとメソッドの例
class Name{
String sei;
String mei;
int age;
}
別のクラスで、Name のインスタンス(少し広い意味でオブジェクトともいいます)n1
を定義し、new でそのデータ領域を確保します。これで、n1.sei="Kono";
のように代入して値を設定できます。Name n1=new Name(); n1.sei="Kono"; n1.mei="Miyuki"; n1.age=18;
Name n1=new Name();の場合、後者は、
Name n2=new Name("Kano","Yosio",20);
の場合呼び出されます。同一の引数を持っているコンストラクタが呼び出されることになります。class Name{
String sei;
String mei;
int age;
Name(){
}
Name(String s,String m,int age){
sei=s;
mei=m;
this.age=age;
}
}
コンストラクタはこの2種なので、 public String toString(){
return sei + ":" + mei + "(" +age + ")";
}
システムで定義されたほとんどのクラスにはこの toString() が定義されていますから、クラスを丸ごと出力できます。class Name{
String sei;
String mei;
int age;
Name(){
}
Name(String s,String m,int age){
sei=s;
mei=m;
this.age=age;
}
public boolean young(){
if(age<=18) return true;
return false;
}
public String toString(){
return sei + ":" + mei + "(" +age + ")";
}
}//Name
public class method {
public static void main(String[] args) {
Name n1=new Name();
n1.sei="Kono";
n1.mei="Miyuki";
n1.age=18;
System.out.println(n1);
if (n1.young()) System.out.println("young");
Name n2=new Name("Kano","Yosio",20);
System.out.println(n2);
}
}
Kono:Miyuki(18) young Kano:Yosio(20)
import java.awt.*;
public class param {
static int j=1;
public static void main(String[] args) {
param prm=new param();
int i=3;
Point p1=new Point(1,2);
prm.func(i,p1);
System.out.println("local:i="+i+", global:j="+j);
System.out.println("p1:"+p1);
}
void func(int i,Point pt){
i=0;
j=2;
pt.x=0;
}
}
local:i=3, global:j=2 p1:java.awt.Point[x=0,y=2]