对象的创建
创建对象的格式:
类名 对象;
对象名称 = new 类名();
也可以合并成一步:
类名 对象名称 = new 类名();
例1:前面已经定义了一个Student类:
class Student{
public String name;
public int age;
public String grade;
public void lesson(){
System.out.println(name+"正在听课。");
}
public void homework(){
System.out.println(name+"正在做作业");
}
}
根据这个Student类,来创建对象:
public class Test{
public static void main(String[] args){
Student stu1=new Student();
stu1.name="陈明明";
stu1.age=15;
stu1.grade="初三";
stu1.lesson();
Student stu2=new Student();
stu2.name="李冬冬";
stu2.age=13;
stu2.grade="初一";
stu2.lesson();
}
}
程序输出:
陈明明正在听课。
李冬冬正在听课。
上面的main方法中,创建了属于Student类的两个对象stu1和stu2,在内存中,会分别为这两个对象开辟空间,用于存储它们各自的成员。对象stu1和stu2是分开的两个独立个体,各自拥有各自的属性和方法,彼此之间互不干扰,可以简单理解成下图:

访问某个对象的某个成员,以 对象名.成员名 的方式来访问:
stu1.name="陈明明";
stu1.age=15;
stu1.grade="初三";
stu1.lesson();
注意:
类也是一种数据类型,是引用型,所以对象都是引用型变量:
Student stu1=new Student();
stu1.name="陈明明";
stu1.age=15;
System.out.println(stu1.name+"的年龄是:"+stu1.age);
Student stu2;
stu2=stu1;
stu2.age=55;
System.out.println(stu1.name+"的年龄是:"+stu1.age);
如上代码,先创建对象stu1,年龄为15,再将stu1的引用赋给stu2,这时两个对象都指向内存中的同一片空间,也就是说stu1和stu2两个本质上其实是同一个对象。这时将stu2的年龄改为55,其实也改变了stu1的年龄,这时再输出stu1的年龄,结果就是:
陈明明的年龄是15
陈明明的年龄是55
与前面的数组一样,如果涉及到方法的参数传递,也是采用引用传递,所以要注意,对形参的改变,也会改变实参。
本文介绍了在Java中如何创建和使用对象。通过`new`关键字结合类名创建对象,并展示了对象作为引用变量的特点,强调了当一个对象引用被赋值给另一个变量时,两者指向同一内存空间,因此修改一个对象的属性会影响到另一个。
1082

被折叠的 条评论
为什么被折叠?



