Java基础知识点1

1.Java的基本数据类型:
byte(1字节)short(2字节)int(4字节)long(8字节)char(2字节)float(4字节)double(8字节)boolean
2.支持的四种变量形式:实例变量(属性)静态属性(类变量)局部变量 参数
3.Java中的三个内存与区域:形参和局部变量在栈区,属性(对象)在堆区,静态变量在方法区
4.重写:(1)发生在父类和子类之间(2)方法名、参数列表、返回类型必须相同(3)访问修饰符的限制必定要大于或等于被重写方法的访问修饰符(4)重写方法必定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常
5.重载:在一个类中,同名的方法若是有不一样的参数列表(参数类型不一样,参数个数不一样甚至是参数顺序不一样)则视为重载。同时,重载对返回类型没有要求,能够相同也能够不一样,但不能经过返回类型是否相同来判断重载
6.访问限定符:public > protected > default > private
public 是任何类中均可以访问
protected 是同一个包中的全部类和包外的子类能够访问
default 是包私有,只有类内部和同一个包的其余类能访问
7.static 关键字用法:
(1)修饰成员变量,将其变成类的成员,从而实现全部对象对于该成员的共享
(2)修饰成员方法,将其变成类方法,能够直接使用 “类名.方法名” 调用,与外部对象解绑
(3)修饰代码块,将多个类成员放在一块儿初始化,是程序更加规整
(4)静态导包用法,将类的方法直接导入到当前类中,从而直接使用 “方法名” 便可调用类方法
(5)修饰类,静态内部类
8.final 关键字用法:
(1)被修饰的类不能被继承
(2)被修饰的方法不能被覆写
(3)被修饰的变量不能更改
9.abstract 关键字用法:
(1)修饰类不能被实例化
(2)修饰方法不能有方法体
10.抽象类和接口的区别:
(1)抽象类是用来描述子类的通用特性的,而接口是抽象方法的集合。抽象类不能被实例化,只能被用做子类的超类,而接口只是一种形式,接口自身不能作任何事情
(2)抽象类能够有默认的方法实现,子类使用extends关键字来继承抽象类,若是子类不是抽象类的话,他须要提供抽象类中全部抽象方法的实现。而接口彻底是抽象的,它根本不存在方法的实现,子类使用关键字implements 来实现接口,他须要提供接口中全部声明方法的实现。
(3)抽象类能够有构造器,除了不能实例化抽象类以外,他和普通的Java类没有任何区别。而接口不能有构造器,是彻底不一样的类型,接口方法默认修饰符是public,不能有其余修饰符。
11.String 类:
(1)String 对象的建立和初始化
使用字符串常量直接初始化,则对象是在常量池
使用构造方法初始化,则对象是在堆区
(2)字符串一旦声明不可改变
12.String、StringBuilder、StringBuffer的区别:
运行速度:StringBuilder > StringBuffer > String
由于String为字符串常量,而StringBuilder和StringBuffer均为字符串常量,即String对象一旦建立后,该对象是不可更改的,但后二者的对象是变量,是能够更改的
13.==和equals的区别:
其中==的做用是判断两个对象的地址是否是相等,即判断两个对象是否是同一个对象
equals的做用是判断两个对象是否相等(即对象的内容)
14.Comparable和Comparator的区别:
实现Comparator接口代码更加灵活,能够定义某个类的多个比较器,从而在排序时根据实际场景自由调用,而Comparable接口实现后便不能再改动,即只能实现一种排序方法。
15.泛型:为了让错误尽量在编译期间出现。泛型是工做在编译期间的一种机制,编译器在编译期间将E变换成一种具体的类型,称为类型擦除。ide

相关文章
相关标签/搜索