这篇文章主要是经过我看了些基础知识的文章和一些自己的理解进行一个总结。
Java基本类型
- 共有8种基本类型
- byte,short,int,long,double,float,char,boolean
Java中JDK,JRE,JVM各自什么意思?
- JDK:JDK包含JRE,JDK是用来提供开发者使用的,有着java的运行环境,提供开发者开发程序的工具包
- JRE:运行java程序时必须的的依赖环境都在JRE里
- JVM:java虚拟机,运行程序时,JVM将字节码转为特殊机器代码,JVM提供了垃圾回收,内存管理,安全机制等
Java访问控制修饰符
Java支持4种不同的访问修饰权限。
权限 | 修饰符 | 当前类 | 同一包 | 子类 | 其他包 |
---|
公开 | public | Y | Y | Y | Y |
私有 | private | Y | N | N | N |
默认 | default | Y | Y | N | N |
受保护 | protected | Y | Y | Y | N |
什么是面向对象?
- 封装:把一个对象封装私有化,同时提供被外界访问属性的方法
- 继承:子类可以拥有父类的非private的属性和方法,子类可以拥有属于自己的属性和方法,也可以用自己的方式实现父类的方法
- 多态:父类的引用指向子类
equals与==的区别
- ==: == 比较的是两个基本类型是否相等,或者两个引用类型的对象是否相等
- equals:equals是Object中的方法,比较的是地址是否相等,一般子类都会重写该方法,用于判断内容是否相等
字符串三剑客String,StringBuilder,StringBuffer
- String :由final修饰,不可变,当进行改变重新指向,线程安全的
- StringBuilder :可变,线程不安全,效率比StringBuffer效率高
- StringBuffer :可变,线程安全·
理解重载Overload与重写Override
- 重载Overload:重载是发生在同一个类中,方法名字相同,(方法参数,个数,数量,返回值,修饰符都可以不同)
- 重写Override:重写是发生在父子类中,方法名,参数列表必须是相同的,(返回值范围,访问修饰符范围,抛出异常范围都是必须小于等于父类的,不能大于)
抽象类与接口的区别
接口与抽象类