介于之前学习过很多的java基础内容,知识学习的有点杂,所以今天主要对之前的内容进行一下梳理,内容会比较简单,如果想深入了解可以移步之前的文章。
一、局部变量和成员变量
| 局部变量 | 成员变量 |
定义范围 | 方法中 | 类体中方法外 |
|
初始值 | 需要赋值后 | 不一定需要赋值,有默认的值 |
|
别名 | --- | 全局变量 |
|
注意 | 当全局变量与局部变量同名时在使用变量时存在就近原则,谁离得近用谁 |
|
二、作用域修饰符
作用域 | 当前类 | 子孙类 | 外部类 |
public | √ | √ | √ |
protected | √ | √ | × |
private | √ | × | × |
Default(friendly) | √ | √ | √ |
注意:protected只有在同一个包下才能够被调用,不在同一个包下调用不了。private只能在自己的类中才能够被调用。 |
三、this关键字、static关键字、final关键字
-- | this | static | final |
作用 | 用来区分局部变量和成员变量 | 被static修饰的方法或者属性=>共享 | 被final修饰的类不能被继承,属性只能赋值一次(基本数据类型),方法不能被重写 |
举例 | this指代的是成员变量 | main方法必须用static | 不想被随意修改的代码使用final,例如String类 |
四、构造方法
构造方法可以不止一个,但是方法名必须与类名一致,没有返回值void也没有,无论是否使用最好是将无参和有参的都写上。
作用1:给属性赋值
作用2:创建对象
五、封装、继承、多态
-- | 封装 | 继承 | 多态 |
用途 | 封装一个类或者方法,将需要使用到的公共的方法或者属性封装在一个类中 | 子类可以通过关键字继承父类的非私有属性或方法 | 多态对象只能调用父类中定义子类中重写的方法 |
关键字 | 使用private | extends | 创建子类对象数据类型为父类的类型如 Father son = new Son(); |
注意 | 封装后的属性只能通过get和set方法调用或者设置 | 子类父类中的方法或者属性重名最好使用super关键字区分,super是指的父类的 | 调用成员方法:编译看左运行看右。调用成员属性:编译和运行都看左边 |
六、Collection集合和数组
-- | Collection集合 | 数组 |
相同点 | 两者都可以存放数据 |
不同点 | 长度不固定可以灵活改变,只能存放引用数据类型 | 长度固定,可以存放任意数据类型,但是一个数组只能存放一种数据类型 |
所处包 | java.util | java.util |
七、抽象类、接口、包装类
--- | 抽象类 | 接口 | 包装类 |
用途 | 抽象出方法或者属性放入一个类中,需要时继承该类并重写该类中的抽象方法,强制子类重写父类的方法 | 是一种引用数据类型,里面有常量和方法需要子类去实现implement | 可以实现基本数据类型像对象一样操作 |
关键字 | abstract | interface | -- |
注意 | 抽象类可以有构造方法但是创建不了对象,子类必须重写父类所有的抽象方法.... | 没有构造方法,不能够创建对象,里面的方法都是抽象的 | 存在装箱和拆箱的概念,如果集合类型想要用int那么需要使用int的包装类Integer |