Java语言有哪些特点
可靠安全,支持多线程,简单易学习
面向对象和面向过程的区别
面向对象:的三大优势,易维护,易拓展,易复用。
三大特性封装、继承、多态。
封装:设置私有属性,防止其他类的方法直接访问类中私有属性,封装就是把一个对象的属性私有化,提供一些可以被外部使用的方法或属性。
继承:发生在分类于子类之中,继承只能单继承,不能多继承,子类不能继承构造器,子类可以重写父类的方法,子类可以拥有自己的属性和方法。
多态:父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的可拓展性。多态分为运行时多态和编译时多态,方法重载也就是编译时多态,主要体现在构造方法中,方法重写也就是运行时多态
面向过程:面向过程分析问题后将问题一步步解决,在使用的时候调用就可以了,是一种编程思想,适合用于单片机,嵌入式开发
八种基本数据类型的大小,以及他们的封装类
byte、short、int、long、float、double、char、boolean
1 2 4 8 4 8 2 -
instanceof 关键字的作用
用于判断一个类是否为一个类的实例
实例化的过程:
jvm通过加载classpath路径内文件下的class文件
验证:检验class字节流是否符合当前jvm规范
准备:为类的变量分配内存,并设置变量的初始值。
解析:将常量池的符号引用替换为直接引用
初始化:执行类的构造器,为类的变量赋值,执行静态代码块
重载和重写的区别
重载(overload):重载是多态的一种形式,重载要求同方法名但是列表参数个数不同
重写(override):重写主要发生在继承中,子类从写父类的方法,要保持方法名相同,参数列表相同,返回类型相同,注意访问修饰符的权限必须要大于被重写的权限