現在JAVAの学習をおこなっていて、参考書で勉強しています。
しかし、以下の3つのソースコードはどの順番で実行されているか理解できておりません。
すみませんが、実行の順番を教えて頂けないでしょうか。
実行の順に数字を振ったりしていただけますと特に嬉しいです。
お願いします。
※サンプル1
class testA{
testB b;
testA(){
b=new testB(this);
}
}
class testB{
testA a;
testB(testA a){
this.a=a;
}
}
class testAll{
public static void main(String args[]){
new testAll().banana();
//ソースコード
}
void banana(){
testA test = new testA();
}
}
※サンプル2
public class A{
public static void apple(Integer i){
int ta =i.intValue();
ta+=3 ;
i=new Integer(ta);
}
public static void main(String args[]){
Integer i = new Integer (0);
apple(i);
System.out.println(i.intValue());
}
}
※サンプル3
public class Test{
public static void main (String args[]){
class orange{
public int i =9;
}
Object o=(Object)new orange();
orange orange = (orange)o;
System.out.println("i="+orange.i);
}
}
public class Test{
public static void main (String args[]){
class orange{
public int i =9;
}
Object o=(Object)new orange();
orange orange = (orange)o;
System.out.println("i="+orange.i);
}
}
1:メインメソッド実行
2:Object型でorangeをインスタンス化
3:orange型にキャストし直して変数orangeに代入
4:内部クラスorangeの変数iを表示