文章目录
1.已知如下类定义
class Base {
public Base (){
//...
}
public Base ( int m ){
//...
}
public void fun( int n ){
//...
}
}
public class Child extends Base{
// member methods
}
如下哪句可以正确地加入子类中(D)
A private void fun( int n ){ //…}
B void fun ( int n ){ //… }
C protected void fun ( int n ) { //… }
D public void fun ( int n ) { //… }
思路:child继承了base,child就是子类,将fun方法放到子类中就是想和父类的fun方法构成重写,但是要构成重写,它的返回值,方法名,参数列表都要相同且重写方法的访问修饰限定符必须大于或等于被重写方法的(子类的访问修饰限定符必须大于或等于父类)
访问修饰限定符的大小关系:
private < 默认权限(包访问权限)< protected < public
2.关于下列程序段的输出结果,说法正确的是:( D)
public class MyClass{
static int i;
public static void main(String argv[]){
System.out.println(i);
}
}
A 有错误,变量i没有初始化。
B null
C 1
D 0
思路:成员变量如果没有初始化会默认给一个0
补充一个知识:
结构化程序设计原则:模块化、自顶向下、精益求精
3.方法通常存储在进程中的哪一区(D)
A 堆区
B 栈区
C 全局区
D 方法区
4.不考虑反射,关于私有访问控制符 private 修饰的成员变量,以下说法正确的是(C)
A 可以三种类所引用:该类自身、与它在同一包中的其他类,在其他包中的该类的子类
B 可以被两种类访问和引用:该类本身、该类的所有子类
C 只能被该类自身所访问和修改
D 只能被同一个包中的类访问
被private修饰只能在当前类使用