Ch4类和对象练习题之简答题.docx
文本预览下载声明
Ch4类和对象练习题之方法一 简答题如果在一个返回值的方法中,不写return语句会发生什么错误?在返回值类型为void的方法中可以有return语句吗?下面的方法中的return语句是否会导致语法错误?public static void xMethod(double x,double y){System.out.println(x+y);return x+y;}如果在一个返回值的方法中,不写return语句会发生无效的数据操作错误。在返回值类型为void的方法中可以有return语句。会导致语法错误。什么是值传递?给出下面程序运行的结果,分别给出调用max之前、刚进入max方法、max方法刚要返回之前以及max方法返回之后堆栈的内容。public class Test{public statci void main(String[] args){int max=0;max(1,2,max);System.out.println(max);}public static void max(int value1,int value2,int max){if(value1value2)max=value1;elsemax=value2;}}值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。结果是0.调用max之前是0,刚进入max方法是2,max方法刚要返回之前是2,max返回之后是0.描述传递基本类型参数和传递引用类型参数的区别,给出下面程序的输出。public class Test{ public static void main(String[] args){Count myCount=new Count();int times=0;for(int i=0;i100;i++)increment(myCount,times);System.out.println(“count is”+myCount.count);System.out.println(“times is”+times);}public static void increment(Count c,int times){c.count++;times++;}}public class Count{ public int count; public Count(int c){ count=c;}public Count(){count=1;}}基本类型是值传递,引用类型是引用传递.值传递不改变原来的值,引用传递会改变原来的值结果是count is101 times is0假设TestClass类的定义如下publi class TestClass{ int i; static String s; void method1(){} static void method2(){}t是TestClass的一个实例,下列哪些语句是正确的?System.out.println(t.i);对System.out.println(t.s);对t.method1();对t.method2();对System.out.println(TestClass.i);错System.out.println(TestClass.s);对TestClass.method1();错TestClass.method2();对正确的是System.out.println(t.i);System.out.println(t.s);t.method1();t.method2();System.out.println(TestClass.s);TestClass.method2();能否从静态方法中调用实例方法或引用一个实例变量?能否从实例方法中调用静态方法或引用一个静态变量?下面代码错误在哪里?public class Test{ public static void main(String[] args){method1();}public void method1(){method2();}Public static void method2(){System.out.println(“what is radius”+c.getRadius());}Circle c=new Circle();}不能从静态方法中调用实例方法或引用一个实例变量,能从实例方法中调用静态方法或引用一个静态变量。错在静态主函数方法不能访问非静态方法method1()。在下面代码中,Circle类中的radius是私有的,而myCircle是Circle类的一个对象,下面强调的代码会导致什么问题吗?解释为什么?public class Cir
显示全部