一个.java源文件中可以包含多个类,但是只能有一个类被public修饰
这个被public修饰的类的名字就是.java源文件的名字.
用于运行的main方法必须写在public修饰的类中,否则无法执行.
public class Test1_Class{
public static void main(String[] arge) {
//通过new关键字创建对象
Phone p = new Phone();
System.out.println(p);//地址值day01.Phone@1b6d3586
//调用方法
p.call();
p.sendMessage();
//设置属性值
p.brand = "华为";
p.color = "black";
p.size = 6.1;
p.price = 8888.88;
//获取属性的值
System.out.println(p.brand);//null - 华为
Systen.out.println(p.color);//null - black
Systen.out.println(p.size);//0.0 - 6.1
System.out.println(p.price);//0.0 - 8888.88
//创建多个对象
Phone p2 = new Phone();
p2.sendMessage();
p2.brand = "华为";
p2.color = "black";
p2.size = 6.7;
p2.price = 7777.77;
System.out.println(p2.brank);
System.out.println(p2.color);
System.out.println(p2.size);
System.out.println(p2.price);
//将p2保存的地址值赋值给p3,没有创建新对象
Phone = p3 = p2;
System.out.println(p2);//day01.Phone@4554617c
System.out.println(p3);//day01.Phone@4554617c
/*
使用null(空引用)调用属性或方法时,不会出现编译报错
但是在运行时会抛出 空指针异常:NullPOinterException
*/
p = null;
// p.call();
// System.out.println(p.price);
/*
当堆中的对象没有被任何引用指向时,Java垃圾回收站GC会对其进行回收
并且释放该对象所占用的内存。
我们也可以手动调用System。gc()方法,提醒GC来进行回收,
但是具体什么时候来还是由GC内部的算法决定。
*/
}
}
//类是一类事物的抽象,使用class关键字定义类
class Phone{// 1.定义Phone类,用于描述"手机"这一类事物
//1.事物的特征 -- 成员变量/属性
String brand;//品牌
String color;//颜色
double size;//尺寸
double price;//价格
//2.事物的行为 -- 成员方法
public void call(){
System.out.println("打电话");
}
public void sendMessage(){
Sysrem.out.println("发信息");
}
}