Java学习总结之构造方法、封装、static关键字

本文详细介绍了Java中的构造方法,包括其作用、调用方式和防止缺省构造器的策略。接着讨论了封装的概念,作为面向对象的核心特征,封装有助于保护内部结构并简化接口。封装通过私有化属性和提供公共的get/set方法实现。同时,文章还解释了static关键字的用法,静态变量在类加载时初始化,静态方法与实例方法的区别,并探讨了静态代码块的执行时机和作用。
摘要由CSDN通过智能技术生成

构造方法

  1. 构造方法:Constructor[构造器]
  2. 构造方法的作用:
    创建对象并在创建过程中给属性赋值(即初始化)
  3. 构造方法通过new调用,构造方法必须和类名保持一致,可以重载,不需要返回值类型
  4. 为防止缺省构造器(即未定义构造方法时系统会默认有一个无参数构造方法)的丢失,建议手动将无参数构造方法写出来
  5. 实例变量在调用构造方法时完成初始化

封装

  1. 面向对象的三大特征:封装、继承、多态
    有了封装才有继承,有了继承才有多态。
  2. 面向对象的首要特征:封装
  3. 定义:将内部复杂的结构通过一层外壳包起来,保证内部的部件或者结构是安全的。
  4. 作用:①保证内部结构的安全②屏蔽复杂,暴露简单。在代码级别上:一个类体的数据,假设封装之后,对代码的调用人员来说,无需关心代码的复杂实现,只需通过一个简单的入口即可访问,此外,类体中安全级别较高的数据被封装起来时,外部人员不能访问,以此来保证数据的安全性。
  5. 怎么进行封装?代码如何实现?
    第一步:属性私有化(使用private关键字进行修饰)
    第二步:对外提供简单的操作入口,即通过get方法专门完成读,set方法专门完成写,并且都不带static关键字修饰,均为实例方法。
  6. 没有static修饰的方法称为实例方法(即对象方法,对象级别的方法)
    对象被称为实例;实例相关的有:实例变量,实例方法。
    实例变量是对象变量,实例方法是对象方法。
    实例相关的都需要new对象,通过引用 “.” 的方法去访问
    带static关键字修饰的通过 “类名.xxx” 方法调用
  7. 补充:空指针异常导致的最本质的原因是:空引用访问“实例变量相关的数据”,会出现空指针异常。
    注意!
    Java开发规范中有要求,set方法和get方法需满足以下格式:
    get方法的要求:
   public 返回值类型 get+属性名首字母大写(无参数){
      return 返回值类型;
      }

set方法的要求:

   public void set+属性名首字母大写(有1个参数){
      xxx = 参数;
}

static关键字

  1. static:译为静态的
  2. 所有static关键字修饰的都是类相关的,类级别的
  3. static修饰的变量:静态变量;static修饰的方法:静态方法
  4. 何时声明变量为实例的,何时声明为静态的?
    静态变量在类加载时初始化,不需要new对象静态变量的空间就开辟出来了,静态变量存储在方法区。如果这个类型的所有对象的某个属性值都是一样的,建议定义为类级别特征(即静态变量),在方法区中只保留一份,节省内存开销
  5. 什么时候定义为实例方法?什么时候定义为静态方法?
    参考标准:当这个方法体中直接访问了实例变量,这个方法一定是实例方法。在以后的开发中,大部分情况下,如果是工具类,工具类中的方法一般是静态的。

静态代码块(使用static关键字定义)

什么是静态代码块?语法?

static{
    Java语句;
    Java语句;
}
  1. static静态代码块在什么时候执行?
    在类加载的时候执行并且只执行一次。
  2. 静态代码块的特征/特点:
    ①静态代码块只在类加载时执行,并且在main方法之前执行。
    ②一般按照自上而下的顺序执行
    ③一个类中可以编写多个静态代码块
  3. 静态代码块的作用:
    ①静态代码块并不常用
    ②实际上静态代码块这种语法机制叫做类加载时机
    ③静态代码块和静态变量都是在类加载时执行,时间相同,只能靠代码的顺序来决定。
    ④实例代码块在每次调用构造方法前都会调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值