31.什么是形参,什么是实参,分别举例说明
1.形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。
2.实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。
3.实参和形参在数量上,类型上,顺序上应严格一致, 否则会发生“类型不匹配”的错误。
4.函数调用中发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
例如:
fun(int a){........}
public static void main(String[] args){
int b=0;
fun(b);
}
其中,a是形参,b是实参
32.简述静态变量与实例变量的区别
静态变量不属于某个实例对象,而是属于类,也叫类变量,只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用,也就是说,你创建了多个对象,他们共用了一个静态变量,而实例对象是属于自己的独有的,不会被共享!
静态变量是公共的,而实例变量,是自己用自己的
33.简述静态的特点以及注意事项
特点:
(1)是随着类的加载而加载的,且只加载一次。
(2)存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。
(3)它优先于对象存在,所以,可以被所有对象共享
静态方法调用的注意事项:
(1)静态方法可以直接访问类变量和静态方法。
(2)静态方法 不能直接访问普通成员变量或成员方法。反之,成员方法可以直接访问类变量或静态方法。
(3)静态方法中,不能使用 this关键字。
34.绘制原理图体现静态变量和实例变量在内存中的位置及赋值方式
![image-20210825125148857](https://i-blog.csdnimg.cn/blog_migrate/cde4e7b815dc7e53e4b4c0e07961d532.png)
35.什么是静态变量?什么是实例变量?
静态变量:使用 static关键字修饰的成员变量
实例变量:没有static修饰的变量,为实例变量。
36.构造方法的特点是什么?
方法名和类名相同,不能有返回值,不用void修饰
37.如何定义成员变量,及如何赋值。
定义:
[变量修饰符] 类型说明符 变量名;
赋值:
1.public修饰时,通过对象名直接赋值
2.private修饰时可通过setter()来赋值
3.通过带参构造方法赋值
38.简述封装的好处是什么,及封装的一般步骤?
隐藏实现细节,提高代码可维护性,提高安全性,可重用性
封装的一般步骤:
1. 修改属性的可见性来限制对属性的访问(一般限制为private)
2. 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问.
39.在一个类中定义的方法,如果同时满足哪三个条件,该方法称为构造方法.
方法名和类名相同,不能有返回值,不用void修饰
40.简述为什么需要封装,好处是什么?
隐藏实现细节,提高代码可维护性,提高安全性,可重用性
41.简述this关键字的用法
可以调用变量,方法和构造,
写法:
this.变量名=值
this.方法名();
this();
42.简述什么时候用继承?
两个类之间符合“是一个(is-a)”关系或多个类具有相同的属性或行为
43.请简述静态代码块和构造方法各有什么特点?
静态代码块:
使用static修饰,类加载时,只执行一次,不能直接访问实例变量和实例方法,也不能使用this和super
构造方法:
1.无返回值类型
2.方法名和类名相同
3.每次创建对象时自动调用
4.完成对象成员变量的初始化
5.构造方法中非注释的第一行代码使用this或super
44.简述哪些成员不能被继承
private修饰的成员、构造方法
45Java中所有类的超类是什么类
Object类