Java学习第七天
一、今天学了什么
1.对象数组的内存解析:
引用类型的变量,只可能存储两类值:null或地址值(含变量的类型)。
2.匿名对象:
class Phone() { double price; public void sendEmail() { System.out.println("发送邮件"); } public void playGame() { System.out.println("玩游戏"); }
public void showPrice()
{
System.out.println("手机价格为" + price);
} } new Phone().sendEmail(); new Phone().palyGame();//两者都为匿名对象,但是这两个Phone对象不是相同的对象
//从下面的例子中看得更为明显
new Phone().price = 6999;
new Phone().showPrice();//0.0
对匿名对象使用的理解:
我们创建的对象,没有显式地赋值给一个变量名。
匿名对象的特征:匿名对象只能调用一次。
匿名对象只能调用一次的原因:
(i)创建的时候只在jvm的堆空间新建了对象,并进行初始化,但栈空间没有一个变量名指向匿名对象。
(ii)jvm垃圾回收机制在发现堆空间的对象,没有一个引用指向他,就给回收内存了。
匿名对象的使用:在传参或者输出时直接new生成一个匿名对象作为参数。
3.方法的重载:
(1)重载,是指参数个数或者参数类型不同的同名方法(两同一不同)。
即同一个类、相同方法名;参数列表不同:参数个数或参数类型不同。
(2)注意:方法是否重载与方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系。
(3)在通过对象调用方法时,如何确定某一个指定的方法:
方法名--->参数列表
4.方法参数的值传递机制:
形参是基本数据类型:将实参的数据值传递给形参
形参是引用数据类型:将实参的地址值传递给形参
二、明天干什么:
继续学习封装性、和构造器的内容