ورود

View Full Version : سوال: چرا در ارث بری اینجوری چاپ کرد ؟!



qweewq22
چهارشنبه 07 اردیبهشت 1390, 15:28 عصر
سلام خدمت اساتید گرامی
می خواستم بدونم خطی که با ** مشخص کردم چه فرقی با خط *** داره ؟!


class a{
int i,j;
void showij(){
System.out.println(i+" "+j);


}
}
class b extends a{
int k;
void showk(){
System.out.println(k);
}
void sum(int a1,int b1,int c1){
int m=a1+b1*c1;
*** System.out.println("sum isNot "+i+j+k);
System.out.println("sum is "+(i+j+k));
System.out.println(a1+""+b1+""+""+c1);
** System.out.println(a1+b1+c1);
System.out.println(m);
}
}
public class Main {
public static void main(String[] args) {
a obja=new a();
obja.i=10;
obja.j=20;
obja.showij();
b objb=new b();
objb.k=30;
objb.showk();
objb.i=10;
objb.j=15;
objb.k=20;
objb.showk();
objb.sum(objb.i,objb.j,objb.k);
}
}

mabbaszadegan
چهارشنبه 07 اردیبهشت 1390, 17:49 عصر
سلام دوست عزیز
متد Println() فقط یک پارامتر میگیرد و آن را چاپ میکند ،
در خط *** شما یک رشته رو به این متد فرستادید (عبارت "sum isNot "+i+j+k ) پس مسلما مقدار برگشتی به صورت یک رشته است (i,j,k را به عنوان رشته میشناسد و عملگر + به عنوان الحاق کننده رشته است.)
در خط ** یک مقدار عددی به تابع فرستاده میشود ، درنتیجه مقدار برگشتی یک عدد است (دراینجا عملگر + ، نقش جمع را ایفا میکند.)

ای قطعه کد رو به تابع b اضافه کن ، منظورمو بهتر متوجه میشی :

System.out.println(i+j+k);

qweewq22
چهارشنبه 07 اردیبهشت 1390, 20:58 عصر
بسیار بسیار ممنونم عزیز :قلب:

mabbaszadegan
چهارشنبه 07 اردیبهشت 1390, 23:57 عصر
وظیفه ست داداش ، بازم اگه مشکلی بود من درخدمتم :چشمک:
درضمن برای تشکر فقط از دکمه "تشکر" استفاده کن .

موفق باشی