主要知识点
1. 创建多个对象
Dog d1 = new Dog();
Dog d2 = new Dog();
对象名变量名(d1 ,d2)放在 栈内存 中 对象的实体放在堆内存中
2. 对象与对象之间的区别
Dog d1 = new Dog();
Dog d2 = new Dog();
每生成一个对象就会在堆内存中占用一块空间,在堆内存占用的地址不一样
声明的变量在栈内存开辟一块空间
3. 匿名对象的创建和使用方法
可以不定义对象的引用名称,而直接调用这个对象的方法,这样的对象叫做匿名对象如
new Dog().jump();
//匿名对象
4. 空对象的特点
空对象在栈内存中有名字 ,而在堆内存中没有对象
Scanner s = null ;
//空对象
s.student() //调用函数。
//编译没错, 运行出错。
代码如下:
class Students
{ String name; String school; int age;void introduce()
{ System.out.println("学生的名字 :" + name); System.out.println("学校的名字 :" + school); System.out.println("学生的年龄 :" + age); }}
class Test2
{ public static void main(String[]args) { Students s1 = new Students(); Students s2 = new Students();s1.name = "张三";
s1.school = "清华"; s1.age = 20; s2.name = "李四"; s2.school = "北大"; s2.age = 30;//System.out.println("s1.name :" + s1.name); //System.out.println("s1.school :" + s1.school); //System.out.println("s2.age :" + s2.age);
s1.introduce();
System.out.println("--------------"); s2.introduce();}
}