JAVA面向对象易错习题详解
来源:互联网 发布:淘宝店运营商靠谱吗 编辑:程序博客网 时间:2024/05/17 22:49
- 给定如下java代码,编译时会在哪行( )出现错误。
class Demo1{ }
class Demo2 extends Demo1{
public static void main(String args[]){
Demo1 d1=new Demo2 () ;//第一行
Demo2 demo2=new Demo2 () ;//第二行
Demo1 d2=new Demo1() ;//第三行
Demo2 demo3=new Demo1() ;//第四行
}
}
解:需要强转 Demo2 demo3=(Demo2 ) new Demo1(); 当子类引用指向父类实例需要强转
2.给定Java代码,运行编译后,输出结果是()
class Parent{
public void count() {
System.out.println(10%3) ;
}
}
public class Test extends Parent{
public void count() {
System.out.println(10/3) ;
}
public static void main(String args[]) {
Parent p = new Test() ;
p.count() ;
}
}
解答:更上题一样,考的是多态的转型,父类引用指向子类实例,向上转型,那么p所调用的方法是子类重写的方法,如果p调用的是成员变量,则是父类的成员变量
3.打印结果为:
public class Test{
public static void main (String args[]){
int []num = {1,2,3}
for(int i = 0;i<3;i++){
System.out.print(num[i]);
}
System.out.print(num[i]); //i为局部变量
}
}
解答:此题很容易错误,认为num[i]=0,i为局部变量,编译会报错
4.编译结果为:
public class Example{
String str=new String(“good”);
char[]ch={‘a’,’b’,’c’};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+” and “);
System.out.print(ex.ch);
}
public void change(String str,char ch[]){
str=”test ok”;
ch[0]=’g’;
}
}
解答:记住 String对象是不可变的,每个修改String值的方法都是创建了新的String对象(包括修改后的字符串内容)
5.正确的代码为:
public class Test{
private float f = 1.0f;
int m = 12;
static int n = 1;
public static void main(String arg[]){
Test t = new Test();
(1) t.f
(2) this.n
(3)t.m
(4)Text.m
(5)Text.n
}
}
解答:牢记一点,main方法是static修饰的静态方法,那么静态方法只能访问静态变量啊!!!! (1)(3)直接报错 Syntax error, insert “VariableDeclarators” to complete LocalVariableDeclaration 要赋值,打印就行 t.f=1这样,单调用就像直接写常数一样 (2)静态变量是不能用关键字this的
6.基本数据类型定义: 小数是double类型
- JAVA面向对象易错习题详解
- Java面向对象习题
- Java面向对象习题
- Java面向对象习题
- Java面向对象习题
- Java面向对象习题
- Java面向对象习题
- Java面向对象习题
- Java面向对象习题练习
- java面向对象初探--习题
- Java面向对象编程习题总结(一)
- Java面向对象编程习题总结(二)
- Java面向对象编程习题总结(三)
- Java面向对象编程习题总结(四)
- Java面向对象编程习题总结(五)
- java面向对象-异常处理-习题
- Java面向对象编程习题总结(三) .
- java--面向对象之封装(习题)
- Professional JS(try-catch续/Node/Document类型)
- RSA加解密应用
- hdoj 1072 Nightmare 广搜
- 猴子吃桃问题
- 常用 SQL Server 规范集锦
- JAVA面向对象易错习题详解
- hibernate学习笔记一
- spring整合hibernate出现HibernateException: Unable to get the default Bean Validation factory
- HDU
- Servlet--Session创建时间
- 组织工程
- P2161 [SHOI2009]Booking 会场预约
- HPUX常用核心参数配置说明
- Unix socket进程间通信