什么是对象?
万物皆是对象,对象是对客观事物的抽象,比如“张三”、“李四”都是对象。
对象是类的具体实例,反应在计算机就是内存当中一段有意义的数据区域。
什么是类?
类是对对象的抽象,它是对象的模板,用来建造各种各样的对象,“张三”“李四”我们称他们为对象,都是“人类”,人类就是对张三李四的抽象,就是“类”。
类封装了数据和行为,代表职责。职责就是告诉我们它具有什么样的功能。
类之间的关系
依赖(uses-a): 依赖就是一个类的方法操作另一个类的对象。
聚合(has-a): 聚合是指一个类包含另一个类。
继承(is-a): 比如儿子和爸爸的关系,一个类从另一个类继承了一些功能。
从语义上讲,可以分出依赖、关联、聚合、组合、继承、实现六中关系出来,但这里不做讲解。
如何定义一个类
一个有意义的类基本上由 数据 + 构造方法 + 行为方法组成
public class ClassName{
//字段(数据)
fields1
fields2
....
//构造方法
constructor1
constructor2
...
//行为方法
method1
method2
...
}
对象的使用
我们定义好了类,那该怎么去使用呢,我们已经知道了对象是类的实例,那我们该怎么实例化对象呢,实例化一个对象使用 new 关键字
Employee employee ;
employee = new Employee();
//合起来
Employee employee = new Employee();
Employee employee 表示声明了一个 Employee 类型,名字叫做 employee 的变量,但此时 employee 并没有指向任何 Employee 实例对象,它还是一个空的引用
employee = new Employee(); 此时才是真正实例化了一个 Employee 对象,并赋值给 employee 变量。
隐式参数与显示参数
隐式参数: 隐式参数就是所说的 this 关键字,指的是当前对象,只能出现在实例方法中。
显示参数: 就是调用一个方法所需要传递的参数,就叫显示参数。
类的访问权限
修饰符 | 本类 | 同一个包的类 | 子类 | 其他类 |
---|---|---|---|---|
private | √ | × | × | × |
默认 | √ | √ | × | × |
protected | √ | √ | √ | × |
public | √ | √ | √ | √ |
声明类中的成员变量和方法的访问权限可以有以上四种
而声明类的访问权限只能有“public”和"默认"两种
final 关键字
被 final 修饰的类不能被继承
被 final 修饰的成员变量第一次赋值后,不能再被赋值
被 final 修饰的方法不能被重写
final 不能修饰构造方法
静态域和静态方法
声明静态域(静态成员)和静态方法使用 static 关键字,被声明的静态成员和静态方法属于类,而不再属于对象,不能在静态方法中访问实例成员或者实例方法,而在实例方法中却可以访问静态成员和静态方法。
静态常量:使用 static final 关键字
重载
方法的重载,表示在同一个类中可以出现相同名称的方法。参数个数可以相同,但必须不同类型。返回值可以相同也可以不同。
初始化块
初始化块可以在对象初始化之前优先被执行。
而静态初始化块则在类加载的时候被执行,如果初始化块和静态块同时存在,则优先执行静态初始化块,毕竟声明为静态则表示为类级别。
仅为本人复习笔记,复习自 java 核心技术卷 1
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于