Java类和对象的基本结构

本文详细阐述了Java中类和对象的区别与联系,包括属性与局部变量的相似点和不同点,如声明位置、权限修饰符、初始化值和内存加载位置。此外,还介绍了方法的重载、可变参数、参数传递机制、构造器的功能以及this关键字的使用。同时,讲解了JavaBean规范,并探讨了构造器和对象初始化的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类和对象
属性(成员变量) vs 局部变量
相同点
1、定义变量的格式:数据类型 变量名 = 变量值
2、先声明,后使用
3、变量都有其对应的作用域
不同点
1、在类中声明的位置不同
  属性:直接定义在类的一对{}内
  局部变量:声明在方法内,方法形参,代码块,构造器形参,构造器内
2、关于权限修饰符的不同
  属性:可以在声明属性时指明其权限,使用权限修饰符(private、public、缺省、protected)
  局部变量:不可以使用权限修饰符
3、默认初始化值的情况不同
  属性:类的属性,根据其情况,都有默认初始化值
    整型(byte、short、int、long):0
    浮点型(float、double):0.0
    字符型(char):0(或'\u0000')
    布尔型(boolean):false
    引用数据类型(类、接口、数组):null
  局部变量:没有默认初始化值,意味着在调用局部变量之前,一定要显式赋值;特别地,形参在调用时赋值即可
4、在内存中加载的位置不同
  属性:加载到堆空间中(非static)
  局部变量:加载到栈空间

表格对比

成员变量局部变量
声明的位置直接声明在类中方法形参或内部、代码块内、构造器内等
修饰符private、public、static、final等不能用权限修饰符修饰,可以用final修饰
初始值有默认初始化值没有默认初始化值,必须显式赋值,方可使用
内存加载的位置堆空间 或 静态域内栈空间

默认初始化赋值

成员变量类型初始值
byte、short、int0
long0L
float0.0F
double0.0
char0或’\u0000’(表示为空)
booleanfalse
引用类型null
对属性的赋值操作
① 默认初始化 --> ② 显式初始化 / ③代码块初始化 --> ④ 构造器初始化 --> ⑤ 对象.方法 或者 对象.属性
(显式初始化和代码块初始化的顺序为声明的顺序,谁在前声明,谁先赋值)
方法
  1. 如果没返回值,通常不使用return,如果使用,只能用"return;"表示结束此方法

  2. 方法重载:同一类,同一方法名,参数列表不同(参数类型或参数个数)

  3. 可变个数的形参 (jdk 5.0新特性)

    1、格式:数据类型 ... 变量名
    2、可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载
    3、可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载
    4、可变个数形参在方法的形参中,必须声明在末尾,且最多只能声明一个可变形参
    
  4. 方法参数的值传递机制(将实际参数值的副本传入方法内,而参数本身不受影响)

    形参是基本数据类型:将实参基本数据类型变量的“数据值”传递给形参
    形参是引用数据类型:将实参引用数据类型变量的“地址值”传递给形参
    
构造器
1、默认构造器的修饰符与所属类的修饰符一致
2、一旦显式定义了构造器,则系统不再提供默认构造器
3、一个类可以创建多个重载的构造器
4、父类的构造器不可被子类继承
5、不能被static、final、synchronized、abstract、native修饰
javaBean

符合以下标准的java类:

1、类是公共的
2、有一个无参的公共的构造器
3、有属性,且有对应的get、set方法
this
  1. this调用属性和方法:(当前对象)

    1、在方法或构造器的形参和类的属性同名时,需要使用"this.变量"的方式表明此变量是属性而非形参
    2、通常情况下,省略"this."
    3、this不能用于static方法中
    
  2. this调用构造器:(正要初始化的对象)

    1、可以在类的构造器中使用"this(形参列表)"的方式,调用本类中重载的其他的构造器
    2、构造器中不能通过"this(形参列表)"的方式调用自身构造器
    3、如果一个类中声明了n个构造器,则最多有 n - 1个构造器中使用了"this(形参列表)"
    4、"this(形参列表)"必须声明在类的构造器的首行
    5、在类的一个构造器中,最多只能声明一个"this(形参列表)"
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值