面向对象
Java中的变量有两种
1、基本数据类型
2、引用类型
基本数据类型和引用类型的区别?
- 基本数据类型的类型范围是固定的,8种
- 引用类型的类型不是固定的,可以有无限种可能(JDK,框架,开发者自定义)
- 基本数据类型只需要用到栈内存,不需要用到堆内存,具体的数值直接存储在栈内存中。
- 引用类型同时用到栈内存和堆内存,真正的对象数据存储在堆中,堆的内存地址存入到栈中,栈中是通过引用的方式指向堆中真正的数据。
引用类型的数据都是对象,基本数据类型的数据不是对象。
类和对象的关系
每个对象都应该有自己的特征,如何描述这些特征?
1、属性:描述静态特征
2、方法:描述动态特征
对象是用来描述客观存在的一个实体,该实体由一组属性和方法构成。
与对象紧密结合的另外一个概念是类
1、一个 Java 文件就是一个类(也可以包含多个类,少数情况)
2、类是对象的模板,通过一个类可以创建出 N 个对象
对象是动态存在的,类是静态的
程序员写出来的东西就是类,通过 JVM 让这个类创建对象,程序结束之后对象就全部销毁,但是类依然存在。
类是抽象的概念,是一种描述,仅仅是一个模板
对象才是具体的真实存在的物体
面向对象的三大特征
封装、继承、多态
封装
封装是为了解决对象的数据安全问题,将属性进行私有化(外部无法直接访问),用private修饰属性即可。
步骤:
1、将属性全部私有化private
2、提供public的方法对属性进行访问(赋值、取值)
3、在setter方法中添加对数据进行保护的逻辑代码
this关键字,指的是当前对象,而不是当前类。