- 构造方法只有两个作用:1、创建对象 2、给成员变量(属性)赋值
- 构造方法:没有返回值类型,方法名与类名相同,可以指定参数
- 局部变量必须要初始化(赋初值)
- 定义常量用final,常量名称全大写
- static final 静态常量
static
- static关键字用来修饰变量、方法和内部类,称这些变量、方法和内部类为静态变量、静态方法和静态内部类
- static可以用来修饰属性、方法和代码块
- static修饰的属性和方法称为类属性(类变量)、类方法
- 不使用static修饰的属性和方法,属于单个对象,通常称为实例属性(实例变量)、实例方法
- static修饰的变量和方法可以通过类名和对象名访问(用static修饰的用类名.的方式就可以访问),而不用static修饰的变量和方法只能通过对象名访问
- static 不可用于修饰构造器,因为构造器是用来创建对象的
- 不能把任何方法体内的变量声明为static(静态)的,即:局部变量不能由static修饰 (static修饰的东西与类相关,应在类里面,static不能定义局部变量)
- final可以用来修饰属性、方法和类
- 用final修饰的变量成为常量,其值固定不变
- 静态的方法只能调用静态的变量和方法,原因是:静态的方法与变量在类加载时就已经初始化了,而非静态的方法与变量没有,需要先创建类的实例对象才能使用
- 静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法被调用时,this所引用的对象根本就没有产生,super同理。
- 实例方法与实例变量与对象有关,静态方法与静态变量与类有关
静态代码块:
- 用static修饰的在类中用“{}”包含起来的代码块
- 它只在类加载的时候执行一次
- 什么时候执行呢?就是这个类从硬盘上加载到内存上的那一瞬间
注:自由块是每次实例化对象时都执行
所谓类的“自由块”,就是在类中用“{}”包含起来的不属于任何方法或构造器的代码段
方法重载:
指同一个类中多个方法:
- 方法名必须相同
- 参数列表必须不同
- 与返回值、访问修饰符无关(即可以不同、也可以相同)
方法重载的4条基本原则除以上三条外,另一原则为:可以相互调用(即重载的各个方法之间可以相互调用)
封装隐藏原则:
隐藏成员变量,提供访问方法
面向对象三大特征之一——封装
- 封装的概念
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
- 封装的步骤
- 修改属性的可见性(设为private)
- 创建属性的getter/setter方法(用于属性的读写)
- 在getter/setter方法中加入属性控制语句(对属性值的合法性进行判断)
this关键字
this关键字只能在对象身体的内部来使用,它代表的就是当前对象它自己的意思