1.Java数据类型基本数据类型与引用类型的区别?
基本数据类型包括:整型、浮点型、字符型、布尔类型;
引用数据类型包括:数组、类和接口
(1)对于基本数据类型,不同的变量会分配不同的存储空间,并且存储空间中存储的是该类的变量的值。赋值操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。
(2)对于引用数据类型,赋值是把原对象的引用(可以理解为内存地址)传递给另一个引用。对数组而言,当一个数组名直接给另一个数组名赋值时,相当于传递了一个引用,此时,两个引用指向同一个数组, 也就是指向同一个内存空间。
2.类似于成员变量可以分为实例变量和类变量,类方法也可以分为实例方法和类方法。
(1)类变量,用static关键字修饰的变量。
(2)类方法,用static关键字修饰的方法。
(3)实例变量和实例方法,声明时不用static关键字修饰。
3.实例变量和类变量的区别
(1)内存分配方面
实例变量每个对象的实例变量都分配内存;类变量仅在生成第一个对象时分配内存。
(2)在对象所属方面
实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果。
4.实例方法和类方法的区别
(1)在操作上
实例方法可以对实例变量和类变量进行操作;类方法只能访问类变量,不能访问实例变量。
(2)在使用方面
类方法中不能使用this或super关键字,因为而静态方法与对象无关,this和super是属于对象范畴的东西,而静态方法根本不能把对象的引用传到方法中,所以不能用this或super关键字。
5.包的三大作用?
(1)区分相同名字的类。
(2)当类很多时,可以很好的管理类。
(3)控制访问范围。
6.多态的定义是:多态是通过只想父类的指针来调用在不同子类中实现方法。
7.方法重载的注意事项?
(1)方法名相同。
(2)方法参数类型、个数、顺序至少有一个相同。
(3)方法返回类型可以不同。
(4)方法的修饰符可以不同。
8.如果两个方法参数类型个数顺序都一样,只有返回类型不一样 这样可以吗?
答案不可以,理由见7.
9.Java的三大特征是 继承、封装、多态。
10.方法覆盖是指子类有个方法与父类的某个方法的名称返回类型相同。