对象:
对象实例化对于内存的分配情况
匿名对象:
new 类名().成员方法();
创建对象时,可以创建完对象不赋值给对象名,直接调用成员变量或者成员方法,这样的对象叫匿名对象,比如:
注:匿名对象只能调用一次成员变量或者成员方法。
对象空间的回收机制,下列情况JVM(java虚拟机)会对对象占用的堆(heap)空间回收:
当对象被赋值为null;
匿名对象使用结束;
超出对象的生命周期(作用域)
构造方法(构造函数)(构造器,constructor)
四要素
构造方法也是方法,但是属于特殊的方法
(1)没有返回值类型。定义为void也不行。
(2)方法名不能自己命名,必须和类名相同,包括大小写。
构造方法的作用:
(1)使用new关键字创建对象时,负责对象的初始化工作。
默认构造方法:
如果一个类没有定义任何一个构造函数,则编译器会提供一个默认的无参的构造函数。
·构造方法的定义:
开发者在类中可以自己定义构造方法(包括无参和有参的构造方法)
主要实现对于类的属性进行初始化赋值
在同一个类中,可以定义多个构造方法,多个方法之间参数列表不同。在new对象的时候,根据传入的参数来具体调用哪一个构造方法。
this关键字
1、this表示这个类本身,即“我”的意思。
2、在类中的方法如果出现形参和类的属性名重名的情况,进行赋值,一般使用this。
tihis.name=name//this.name表示类的属性,name表示形参
3、在构造方法中使用this,表示本类的构造方法
package包
java中,类的组织形式是以包的形式来组织的。包名在磁盘上是以文件夹的路径的形式。
包声明的语法:package com.neuedu.day5;
注意:package语句必须是该java文件中,非注释代码的第一行。
java文件所存放的位置,必须与package声明的包一致。
创建类的时候,如果不指定包名,该类会放在default包下,该包下的类,不能被其他包的类访问。
包的命名规范:(1)com.xxxx.xxx.xxx
(2)包名全小写
(3)com.公司缩写.项目缩写.模块名 比如com.neuedu.crp.controller
(4)如果还有子模块,继续往后加, 比如com.neuedu.crp.controller.user
注意:同一个包下的类相互访问不需要使用import语句导入。
不同包下的类相互访问,需要使用import导入类
java.lang包中包含了常用的一些类,在每个java文件中自动导入。
import语句
如果在不同的包下,类相互访问需要使用import语句导入类,语法如下:
import 包名 类名;
import 包名.*;(*表示导入所有的类)
权限定类名:
包名.类名 成为该类的权限定类名。