类:构造对象的模板或者蓝图,是对象共同特征的描述
对象:三个特性:行为,标识,状态,对象放在堆内存中
垃圾回收:当堆内存中的对象, 没有被任何变量引用,会被判定为内存垃圾
构造器:
分类:有参构造器,无参构造器
作用:初始化类对象,并返回对象地址
this(隐式参数)出现在构造器中,代表当前对象的地址
《Java核心技术》:注意,不要在构造器中定义与实例字段同名的局部变量,声明局部变量后会遮蔽同名的实例字段
封装:面向对象三大特征:多态,继承,封装
获得或者设置实例字段的值,需要提供下面三项内容
● 一个私有的数据字段
● 一个公共的字段访问器方法
● 一个公共的字段更改器方法
标准JavaBean
即实体类,满足如下书写要求
● 成员变量使用private修饰
● 提供成员变量的get,set方法
● 必须提供一个无参构造器,有参构造器可有可无
2.方法 返回值:void 及其他返回类型
方法调用流程:内存图解
Java参数传递本质是值传递
方法重载:形参列表不同的同名方法就是重载
静态方法:不在对象上执行的方法,用static修饰,类上的方法,使用类名调用
静态方法只能访问类的静态字段,不能访问实例字段
使用静态工厂方法来构造对象
3.static static可以修饰成员变量和成员方法,分别成为静态变量和静态方法,其修饰后的成员变量是属于类的,可以被类的所有对象访问和修改
成员变量内存原理:
类的所有对象共享静态变量区
静态方法只能访问静态变量,不能访问实例成员
实例方法可以访问静态成员,也可以访问实例成员
静态方法中不能出现this关键词(静态方法属于类)
工具类:
工具类中都是静态方法(提高代码复用,一次编写处处可用)
工具类直接用类名访问,如Math,不需要创建对象调用,一般将构造器私有化,不对外产生对象
代码块:
{}括起来的代码
静态代码块:static修饰 ,随着类的加载而加载,自动触发,一般用来做一些静态数据的初始化
构造代码块:每次创建对象,都会执行,并且在构造器执行前执行
4.包 一个类可以使用所属包中的所有类,还有其他包中的公共类
采用两种方式访问另一个包中的公共类:
● 使用完全限定名,包名后面跟类名:java.time.LocalDate
● 使用import导入
静态导入:
import static java.lang.System.*;就可以使用System的静态方法和静态字段
import static java.lang.lang.System.out; 导入特定的方法和字段
在包中增加类:
将类放在包中,就必须将包的名字放在源文件的开头,
package com.xiao.corejava;



