圣思园java se培训总结(10-16)
1.成员变量是定义在类里面的变量,局部变量是定义在方法里的变量,定义成员变量是不用初始化,在创建实例(对象)的时候会初始化默认值!但是局部变量使用前必须赋值!局部变量与成员变量同名时,在局部变量作用域内,会代替成员变量!
2. new一下会做三件事:为该类的实例开辟一块堆内存空间;调用new后的有参构造或者无参构造;返回指向该对象在堆内存中的起始地址给一个对象的引用!
3.java只存在值传递,没有C的引用传递(有待复习)等等,当传递的实参是基础类型时,会把实参的值赋值给基础类型的形参;当传递的实参是引用类型时,会把实参所指向对象的地址赋值给形参,形参和实参都指向这个对象,所以在方法里对形参指向对象的属性做修改时,会反应到实参指向的对象!只是一个人叫不同的名字!例如张三和装蒜都是这个人,张三的手断了,装蒜的手肯定也断了,装蒜的腿断了,张三的腿肯定也断了!
4.方法重载(overload)是根据具体参数不同来区分同名的方法的!不是根据不同返回值来区分方法重载的!同叫foobar,且参数类型相同的方法,返回值不同的方法写在同一个类中,编译器会报错,提示这是同一个方法!