面向对象②
- this 关键字
表示当前正在执行的对象
为了区分成员变量和局部变量,在编码时,可使用this关键字进行指示,使用this调用的是成员变量,成员方法,构造方法
this在实际运行时,表示当前正在调用此方法的对象 - static关键字
static被称为静态,可以用来修饰成员变量,成员方法,代码块,内部类。
类-- class–静态代码 只有一份存在
静态–在内存只有一份存在
静态成员不依赖于类的特定实例,被类的所有实例共享,就是说 static修饰的方法或者变量不需要依赖于对象来进行访问,
只要这个类被加载,静态成员就会被加载创建.
静态的先执行,可以被类,对象访问,
特点:
• 随着类的加载而加载
• 优先于对象存在
• 修饰的成员,被所有对象所共享
• 可不创建对象,直接使用类名调用
成员方法:
static修饰后的的成员,随着类的加载而加载,先于对象而存在,
static修饰的成员变量在内存中只有一份,适合将所有实例都相同的属性设置为静态
静态的成员可以使用类名/对象名调用,一般建议用类名访问
static修饰方法
静态方法只能访问静态的变量,不能访问非静态的变量
在方法中不使用非静态成员变量时,可以将方法设计为静态
类中可以定义:
成员变量(非静态成员变量属于对象,静态的成员变量属于类,和类一样只有一份)
成员方法(非静态的成员方法,属于对象,可以使用非静态的成员变量和静态成员变量,静态的成员方法,只能使用静态的成员变量)
构造方法:在创建对象后,为对象成员变量进行初始化,有无参,也可以为有参的 - 代码块
在类中声明,类似一个没有名称的方法体(代码块),
分为:实例代码块
静态代码块
因为代码块没有名字,只能在满足条件时,自动由系统调用
实例代码块:在创建对象时,自动调用执行.
静态代码块:在类加载时自动调用
类什么时候被加载:
通过类名访问类中静态成员时,
在一个类中使用main方法
创建对象也会加载
类只被加载一次
如果有多个实例代码块,或多个静态代码块,他们会按照先后顺序执行 - 包
问题:项目越写类越多,难免出现同名的类
不同类功能不同,需要分类管理
为了解决一些类管理的问题,Java引入包机制来解决
包称为类的命名空间(可以理解为文件夹)
是类名的组成部分
类名(全类名) = 包名(地址) + 类名简称
一个类属于不同的包,就可以避免同名类问题.
根据不同的功能管理类(web层,service逻辑处理,dao数据访问层)
包名单词小写
第一级 指该项目的类型,如com(商业公司),org(非盈利组织),gov(政府)等,
第二级 指项目所开发或者运行的公司名称,如:oracle,sun,huawei等
第三级 指项目的名称,如:bcms,oa,erp,cms等
第四级 指项目模块的名称,如:web,bean,action,exception等
在类中,使用其他包中的类时,需要使用import关键字导入类 的地址
本文介绍了Java中的this关键字,用于区分成员变量和局部变量,表示当前对象。static关键字用于修饰静态成员,它们在内存中只有一份,不依赖于类的实例。静态成员可直接通过类名访问。构造方法用于初始化对象成员变量。包作为类的命名空间,解决类的管理问题,import关键字用于导入其他包的类。
4034





