今天分享一些JavaSE的一些基础练习题,虽然不难,但很有意义,有了基础,才会熟悉更深的操作与进一步学习;
1.以下说法正确的是:()
A:构造方法必须是public方法 B:main方法必须是public方法
C:Java应用程序的文件名可以是任意的 D:构造方法应该声明为void类型
- 正确答案:B
解析:
A:错误,举例:单例模式中,构造方法用private修饰
C:错误,文件名应该与主类名保持一致
D:错误,构造方法没有类型声明
2.设int x=1,float y=2,则表达式 x / y的值是:( )
A.0 B.1 C.2 D.以上都不是
- 正确答案:D
解析:
我再写这道题时,认为float y = 2这条语句就会报错,后面一想才发现,后面2是整型,float类型范围比int型大,不用强转,要是小数,才必须写:float y = 2.0F;
这道题答案应为 0.5 ,x/y结果为float型;
3.以下有关构造方法的说法,正确的是:( )
A.一个类的构造方法可以有多个
B.构造方法在类定义时被调用
C.构造方法只能由对象中的其它方法调用
D.构造方法可以和类同名,也可以和类名不同
- 答案:A
解析:
B:构造方法在创建对象的时候被调用,即new的时候
C:显然错误,总结到一个知识点:本类中的普通方法不能调用构造方法,而构造方法可以调用普通方法,重载的构造方法可以调用另一个构造方法;
D:构造方法必须和类同名
4.[多选]String与StringBuffer的区别( )
A:String是不可变的对象,StringBuffer是可以再编辑的
B:字符串是常量,StringBuffer是变量
C:String是可变的对象,StringBuffer是不可以再编辑的
D:以上说法都不正确
- 答案:AB
5.[多选]以下说法正确的是( )
A.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。
B.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;
C.非静态内部类的非静态成员可以访问外部类的非静态变量
D.内部类和外部类都可以访问彼此的私有成员
- 答案:AB
无解析?
下面这段代码输出什么:
class Person {
public void fun() {
this.print();
}
private void print() {
System.out.println("1.**********");
}
}
class Student extends Person {
public void print() {
System.out.println("2.##########");
}
}
public class Exer {
public static void main(String[] args) {
new Student().fun();
}
}
答案:1.**********
解析:父类中的print方法的权限是private,所以这是私有的,只有在Person类中才可见,所以子类的print方法并没有覆写父类的print方法
下面看这段代码以及它的输出:
package www.baidu.java;
class Person {
public void fun() {
this.print();
}
private void print() {
System.out.println("1.**********");
}
}
class Student extends Person {
public void print() {
System.out.println("2.##########");
}
}
public class Test {
public static void main(String[] args) {
new Student().fun();
new Student().print();
}
}
输出是:
1.**********
2.##########