Java中类与对象的定义与使用

1 类与对象的概念

  类是一个共性的概念,而对象是一个具体的,可以使用的事物。
  类是生产对象的蓝图,先有类才可以产生对象,对象的所有属性和行为,一定在类中进行了完整的定义。

2 类与对象的定义与使用

2.1 类的定义

  定义一个类的语法:

class 类名称 {
	属性1;
	属性2;
	属性n...;
	方法1(){}
	方法2(){}
	方法n(){}...
}

范例:

class Person{
    public String name;
    public int age;
    public void work()
    {
        System.out.println(name+"在工作!");
    }
    public void age()
    {
        System.out.println(name+age+"岁了!");
    }
}

   有了类我们就可以产生对象了。

2.2 对象的定义

  产生对象的语法:类名称 对象名称=new 类名称();
  以上述Person为例,产生一个Person类的对象:Person p1 = new Person();

class Person{
    public String name;
    public int age;
    public void work()
    {
        System.out.println(name+"在工作!");
    }
    public  void  age()
    {
        System.out.println(name+age+"岁了!");
    }
    public static void main(String[] args)
    {
       Person per1=new Person();
        per1.name="花花";
        per1.age=18;
        per1.work();
        per1.age();
    }
}

  类中的属性和方法(不带static的),只能通过对象调用

2.3 对象内存分析

  • 栈内存(虚拟机局部变量表):存放的是局部变量(包括编译器可知的各种基本数据类型,对象引用----即堆内存地址(对象的名字))。
  • 堆内存:保存的是真正的数据,即对象的属性信息。
      new表示在堆上新分配空间!!!

    比如:Person per = new Person();
    Java中类与对象的定义与使用

2.4 引用传递分析

  引用传递的本质:一块堆内存可以被多个栈内存所指向

	Person per1 = new Person();
	Person per2 = new Person();
	per2=per1;

Java中类与对象的定义与使用
  当执行per2=per1时,per2与per1指向同一块堆空间,另一块堆空间就没有栈内存指向。
  我们将没有任何栈内存指向的堆内存空间称为垃圾空间。