类就是一种自定义类型
- 在类定义中可以使用类,创建类的引用;
- 在类定义中,甚至可以使用类自己的类创建引用;
- 引用类型的缺省值是null。一个类定义中如果有引用 ,创建出来的实例,其缺省值是null。
举例如下:
package classDemo;
/*定义CPU类*/
public class CPU {
double speed;
String producer;
}
package classDemo;
/**定义Memory类*/
public class Memory {
long capacity;
String producer;
}
package classDemo;
/**定义Storage类*/
public class Storage {
long capacity;
String producer;
}
package classDemo;
/**定义Screem类*/
public class Screem {
double size;
String producer;
}
package classDemo;
/**定义Mainboard类*/
public class Mainboard {
CPU cpu;
Memory memory;
Storage storage;
String model;
int year;
}
package classDemo;
/**定义Phone类*/
public class Phone {
Screem screem;
Mainboard mainboard;
double price;
boolean hasFigurePrintUnlocker;
}
package classDemo;
public class MyPhoneMarker {
public static void main(String[] args) {
Phone phone = new Phone();
phone.hasFigurePrintUnlocker = true;
phone.price = 1999;
phone.screem = new Screem();
phone.screem.producer = "京东方";
phone.screem.size = 8.8;
CPU cpu = new CPU();
cpu.producer = "三星";
cpu.speed = 3.5;
Memory memory = new Memory();
memory.producer = "三星";
memory.capacity = 4;
Storage storage = new Storage();
storage.producer = "Intel";
storage.capacity = 18;
phone.mainboard = new Mainboard();
phone.mainboard.cpu = cpu;
phone.mainboard.memory = memory;
phone.mainboard.storage = storage;
phone.mainboard.model = "EA888";
phone.mainboard.year = 2019;
System.out.println(phone.mainboard.cpu.producer);
System.out.println(phone.mainboard.cpu.speed);
System.out.println(phone.mainboard.memory.producer);
System.out.println(phone.mainboard.memory.capacity);
System.out.println(phone.mainboard.storage.producer);
System.out.println(phone.mainboard.storage.capacity);
}
}