java未赋值参数的问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 10:43:59
class A
{
int a;
A(){System.out.println("in A");}
A(int i)
{
a = i+100;
System.out.println("In A with a+"+a);
}
}

class B extends A
{
int b;
int a;
B(){
System.out.println("in B");
}

B(int i,int j){
a=i+j;
System.out.println("In b with a="+a+"B="+b);
}
}
class C extends B{
int c;
// int k=1;
C(){
System.out.println("In c");
}
C(int i,int j,int k){
super(i+200,j+400);
c=k+500;
System.out.println("in c with a="+a+"b="+b+"c="+c);
}
}
public class NewClass
{
public static void main(String args[])
{
C c=new C(10,20,30)
}

}
结果
in A

类成员变量如果没有赋值的话,默认int型为0;
方法的变量必须赋值,不然无法通过编译!!

为什么 B的值是0呢 题中没有给b参数..
好像记得如果没有赋值的话,显示的是随机的一个数

不是随机,int类型的默认赋值0

如果是类成员,没有赋值java中统统初始化成0。这不是c语言!
java中方法中的变量是必须初始化的,否则编译通不过

class Test {
int a;
String b;

public static void main (String [] args){
System.out.println(a+" "+b);
}
}

自己看看就知道了

没有初始化b的值,int默认值就是0