当一个对象中的属性是引用类型(案例) 及内存分析图
来源:www.cnblogs.com 更新时间:2023-05-25 21:55
编程完成如下要求:
班级Grade类:
属性:编号,名称,地址
定义:无参构造方法、有参构造方法
定义方法:显示班级的信息。
学生类:
属性:学号,姓名,年龄,所在班级
定义方法:显示学生的信息(学号,姓名,性别,年龄,班级编号,班级名称) //红色注释就是用 grade类创建的引用类型 g(代码28行)
注意:所在班级应为班级类的类型
测试类:
通过有参构造方法,创建班级对象
通过无参构造方法,创建学生类对象
调用显示信息的方法显示学生的信息
1 class Grade{ 2 //属性:编号,名称,地址 3 int num; 4 String name; 5 String address; 6 7 //构造方法 无参: 8 public Grade(){ 9 10 } 11 //有参构造方法 12 public Grade(int num,String name,String address){ 13 this.num = num; 14 this.name = name; 15 this.address = address; 16 } 17 //方法:显示学生的信息 18 public void show(){ 19 System.out.println("班级编号: " + num + "\n班级名称: " + name + "\n班级地址" + address ); 20 } 21 } 22 class Student{ 23 //属性:学号,姓名,性别,年龄,所在班级 24 int id; 25 String name; 26 char sex; 27 int age; 28 Grade g = new Grade(); //注意:g没有赋值时,则默认值为null 29 //方法:显示学生的信息(学号,姓名,性别,年龄,班级编号,班级名称) 30 public void showInfo(){ 31 System.out.println("学生信息如下:"); 32 System.out.println("学号:"+ id + "\n姓名:" + name + "\n性别:" + sex + "\n年龄:" + age + "\n班级编号:" + g.num + "\n班级名称:" + g.name); 33 } 34 } 35 class Test{ 36 public static void main(String[ ] args){ 37 //通过有参构造方法,创建班级对象 38 Grade grade = new Grade(123,"教室一","一零一"); 39 //通过无参构造方法,创建学生类对象 40 Student s = new Student(); 41 //调用显示信息的方法显示学生的信息 42 s.showInfo(); 43 } 44 }
上一篇:单例模式 下一篇:强制类型转换-其实就是向下转型