Java日常练习题,每天进步一点点(46)
目录
- 1、设Tree为已定义的类名,下列语句能正确创建 Tree 对象的是 。
- 2、区分类中重载方法的依据是( )。
- 3、以下代码执行后输出结果为( )
- 4、现有一变量声明为 boolean aa; 下面赋值语句中正确的是 ( )
- 5、以下关于 abstract 关键字的说法,正确的是()
- 6、一个类中,有两个方法名、形参类型、顺序和个数都完全一样,返回值不一样的方法,这种现象叫覆盖。( )
- 7、局部变量能否和成员变量重名?
- 8、指出下列程序运行的结果()
- 9、java中提供了哪两种用于多态的机制
- 10、下列说法正确的是()
- 答案汇总:
- 总结
1、设Tree为已定义的类名,下列语句能正确创建 Tree 对象的是 。
正确答案: B
Tree t=new Tree;
Tree t=new Tree();
Tree t=Tree();
Tree t[ ]=new Tree[10];
题解:
需要对象,当然只需new一个了,还有别忘了括号。
2、区分类中重载方法的依据是( )。
正确答案: C
不同的形参名称
不同的返回值类型
不同的形参列表
不同的访问权限
题解:
两个重载函数必须在下列一个或两个方面有所区别:
1、函数的参数个数不同。
2、函数的参数类型不同或者参数类型顺序不同
3、以下代码执行后输出结果为( )
public class ExceptionTest { public void method() { try { System.out.println("进入到try块"); } catch (Exception e) { System.out.println("异常发生了!"); } finally { System.out.println("进入到finally块"); } System.out.println("后续代码"); } public static void main(String[] args) { ExceptionTest test = new ExceptionTest(); test.method(); } }
正确答案: B
进入到try块 异常发生了! 进入到finally块 后续代码
进入到try块 进入到finally块 后续代码
进入到try块 后续代码
异常发生了! 后续代码
题解:
对于这题,没有异常,直接从try进入到finally,然后执行下面的后续代码。
4、现有一变量声明为 boolean aa; 下面赋值语句中正确的是 ( )
正确答案: A
aa=false;
aa=False;
aa=“true”;
aa=0;
题解:
boolean的值要不是true,要不就是false。
5、以下关于 abstract 关键字的说法,正确的是()
正确答案: D
abstract 可以与final 并列修饰同一个类。
abstract 类中不可以有private的成员。
abstract 类中必须全部是abstract方法。
abstract 方法必须在abstract类或接口中。
题解:
1、abstract类不能与final,static使用。final修饰方法,子类可以调用,但不能覆盖。
2、最好不要有private因为私有和抽象放在一起,子类如果想重写父类的私有方法根本继承不过来,也就无法重写
3、抽象类中可以有非抽象方法
4、抽象类中可以都是非抽象的,但是抽象方法一定要在类和接口中
6、一个类中,有两个方法名、形参类型、顺序和个数都完全一样,返回值不一样的方法,这种现象叫覆盖。( )
正确答案: B
正确
错误
题解:
重载(overload)和重写(override)的区别: 重载就是同一个类中,有多个方法名相同,但参数列表不同(包括参数个数和参数类型),与返回值无关,与权限修饰符也无关。调用重载的方法时通过传递给它们不同的参数个数和参数类型来决定具体使用哪个方法,这叫多态。 重写就是子类重写基类的方法,方法名,参数列表和返回值都必须相同,否则就不是重写而是重载。权限修饰符不能小于被重写方法的修饰符。重写方法不能抛出新的异常或者是比被重写方法声明更加宽泛的检查型异常。
7、局部变量能否和成员变量重名?
正确答案: A
可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量
可以,这时可用“local”关键字来指向局部变量
不能,局部变量不能与成员变量重名
不能,在一个类中不能有重名变量,不管是成员变量还是函数中的局部变量
题解:
java采用局部优先的思想。局部变量可以和成员变量相同,使用标识符调用时,优先使用局部变量。在实例方法中出现变量名相同时,可以使用this关键字来调用。
8、指出下列程序运行的结果()
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'; } }
正确答案: B
good and abc
good and gbc
test ok and abc
test ok and gbc
题解:
9、java中提供了哪两种用于多态的机制
正确答案: A B
通过子类对父类方法的覆盖实现多态
利用重载来实现多态.即在同一个类中定义多个同名的不同方法来实现多态。
利用覆盖来实现多态.即在同一个类中定义多个同名的不同方法来实现多态。
通过子类对父类方法的重载实现多态
题解:
Java通过方法重写和方法重载实现多态
方法重写是指子类重写了父类的同名方法
方法重载是指在同一个类中,方法的名字相同,但是参数列表不同
10、下列说法正确的是()
正确答案: A B
JAVA程序的main方法必须写在类里面
JAVA程序中可以有多个名字为main方法
JAVA程序中类名必须与文件名一样
JAVA程序的main方法中,如果只有一条语句,可以不用{}(大括号)括起来
题解:
答案:AB
A,java是强类型语言,所有的方法必须放在类里面,包括main
B ,java中可以有多个重载的main方法,只有public static void main(String[] args){}是函数入口
C,内部类的类名一般与文件名不同
D,函数都必须用{}括起来,不管是一条语句还是多条语句
答案汇总:
1、正确答案: B
2、正确答案: C
3、正确答案: B
4、正确答案: A
5、正确答案: D
6、正确答案: B
7、正确答案: A
8、正确答案: B
9、正确答案: A B
10、正确答案: A B
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我们的更多内容!