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变换成一种具体的类型,称为类型擦除。







































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章