- 定义类
class Book{
String title;
double price;
public void getInfo() {
System.out.print("图书名称:"+title+",价格:"+price);
}
}
- 使用类–在mian类中使用Book类
package head_first;
class Book{
String title;
double price;
public void getInfo() {
System.out.print("图书名称:"+title+",价格:"+price);
}
}
public class Exp31 {
public static void main(String[] args) {
Book bk = new Book();
bk.title = "java开发";
bk.price = 32.4;
bk.getInfo();
}
}
运行结果:图书名称:java开发,价格:32.4
- 以分布的方式实例化对象
public class Exp31 {
public static void main(String[] args) {
Book bk = null;
bk = new Book();
bk.title = "java开发";
bk.price = 32.4;
bk.getInfo();
}
}
运行结果:图书名称:java开发,价格:32.4
- 使用未实例化的对象
public static void main(String[] args) {
Book bk = null;
bk.title = "java开发";
bk.price = 32.4;
bk.getInfo();
}
报错信息:Exception in thread "main" java.lang.NullPointerException
at head_first.Exp31.main(Exp31.java:17)
- 声明两个对象
Book bk1 = new Book()
Book bk2 = new Book()
bk1.title = "java开发"
bk1.price = 32.4
bk2.title = "python开发"
bk2.price = 11.2
bk1.getInfo()
bk2.getInfo()
运行结果: 图书名称:java开发,价格:32.4
图书名称:python开发,价格:11.2
- 对象引用传递
Book bk1 = new Book()
Book bk2 = null
bk1.title = "java开发"
bk1.price = 32.4
bk2 = bk1
bk2.price = 11.2
bk1.getInfo()
bk2.getInfo()
运行结果: 图书名称:java开发,价格:11.2
图书名称:java开发,价格:11.2
- 深入观察引用传递
public static void main(String[] args) {
Book bk1 = new Book();
Book bk2 = new Book();
bk1.title = "java开发";
bk1.price = 32.4;
bk1.title = "python开发";
bk1.price = 11.4;
bk2 = bk1;
bk2.price = 11.2;
bk1.getInfo();
bk2.getInfo();
}
运行结果: 图书名称:java开发,价格:11.2
图书名称:java开发,价格:11.2