问几道关于java程序设计的题

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:58:01
第一题 :class First{
public First(){
aMethod(); }
public void aMethod(){
System.out.println(“in First class”);}
}
public class Second extends First{
public void aMethod(){
System.out.println(“in Second class”);}
public static void main(String[ ] args){
new Second( ); }
}
此题的运行结果是多少?
class Test4
{ public static void main(String[] args)
{ String s;
char c;
int upper,lower;
upper=lower=0;
s=args[0];
for (int i=0;i<s.length();i++)
{ c=s.charAt(i);
if(c>='a' && c<='z') lower++;
if(c>='A' && c<='Z') upper++; }
System.out.println(upper+”,”+lower); }
}
此题的运行结果是多少?

1.in First class
2.这题运算结果跟你命令行参数有关
如果执行java程序时的命令为:
java Test4 UPPERlower
则结果是 5,5(因为大写字母有5个,小写字母也是5个,UPPERlower就是命令行参数,他传递给main方法)

给你解释下第一个问题为什么只有in First class 这个输出,原因是因为,第2个类是继承第一个类,在构建第2个类的实例的时候就会要先调用到第一个类的构造方法,所以会出现in First class ,而第2个类,并没有写构造方法,JAVA虚拟机会自动给一个默认的空实现,所以不会调用第2个类中的方法。