-
以下关于面向对象概念的描述中,不正确的一项是(B)。
A.在现实生活中,对象是指客观世界的实体
B.程序中的对象就是现实生活中的对象
C.在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)
D.在程序中,对象是一组变量和相关方法的集合
-
public class Foo {
int value;
Foo(int value) {
this.value = value;
}
public boolean equals(Object obj) {
if (obj instanceof Foo) {
Foo foo = (Foo) obj;
return value == foo.value;
} else {
return false;
}
}
运行下面程序段:
ArrayList list = new ArrayList();
HashSet set = new HashSet();
list.add(new Foo(1));
set.add(new Foo(1));
System.out.println(list.contains(new Foo(1)) + ","
+ set.contains(new Foo(1)));
-
public class A{…}
public class B extends A implements D {…}
public class C extends A {…}
public interface D {…}
变量a、b、c、d的定义如下:
A a = new A(); B b = new B();
C c = new C(); D d = null;
则下列语句会有编译错误的是( )。D
A.
a = b;
B.
d = b;
C.
d = (D)a;
D.
c = (C)b;
-
class COne {
public void f() {
System.out.println("COne.f");
}
}
class CTwo extends COne{
public void f() {
System.out.println("CTwo.f");
}
}
class CThree {
public void g(COne one) {
System.out.println("g(Cone)");
one.f();
}
public void g(CTwo two) {
System.out.println("g(Ctwo)");
two.f();
}
}
public class Main {
public static void main(String[] args) {
COne one = new CTwo();
CThree three = new CThree();
three.g(one);
}
}
-
class Foo {
private int value = 5;
public Foo() {
System.out.println("Foo()");
System.out.println(value);
}
}
class Bar extends Foo{
private int value = 10;
public Bar() {
System.out.println("Bar()");
System.out.println(value);
}
}
public class Main {
public static void main(String[] args) {
Bar bar = new Bar();
}
}
-
public class Point {
private int x;
private int y;
...
public boolean equals(Object obj) {
}
}
-
下面说法正确的是A
A.
一个接口可以继承另外一个接口
B.
一个类只能实现一个接口
C.
Java语言支持多继承
D.
抽象类中的非抽象方法不可以调用其抽象方法
-
下面描述正确的是:D
A.
str是字符串变量,“java”.equals(str) 和 str.equlas("java")在任何时候都是等价的
B.
成员访问修饰符按照可访问的范围由大到小的顺序是 public default protected private
C.
abstract 和 final 共同修饰一个类时,final应该放在abstract 的前面
D.
当某一个类的int类型常量值(用static final修饰)经过修改并重新编译后。用到的该常量的其他类也必须重新编译后才能用的新修改后的值
-
运行下面程序段:
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, 2008);
c.set(Calendar.MONTH, 1);
c.set(Calendar.DATE, 32);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/M/dd");
System.out.println(sdf.format(c.getTime()));
控制台输出的结果是( )。
-
class A {
protected int method (int a, int b) {
return 0;
}
}
A.
public int method (int a, int b) { return 0; }
B.
private int method(int a, int b) { return 0; }
C.
private int method(int a, long b) { return 0; }
D.
public short method(int a, int b) { return 0; }
-
下列代码执行的结果是:
class Base
{
void test() {
System.out.println("Base.test()");
}
}
public class Child extends Base {
void test() {
System.out.println("Child.test()");
}
public static void main(String[] a) {
Child anObj = new Child();
Base baseObj = anObj;
baseObj.test();
}
}
-
class HasStatic{
2. private static int x=100;
3. public static void main(String args[ ]){
4. HasStatic hs1=new HasStatic( );
5. hs1.x++;
6. HasStatic hs2=new HasStatic( );
7. hs2.x++;
8. hs1=new HasStatic( );
9. hs1.x++;
10. HasStatic.x--;
11. System.out.println(“x=”+x);
12. }
13.}
-
关于java.lang.String类,以下描述正确的一项是( A )
A.
String类是final类故不可以继承;
B.
String类是final类故可以继承;
C.
String类不是final类故不可以继承;
D.
String类不是final类故可以继承;
-
下列关于interface的说法正确的是:( D )
A.
interface中可以有private方法
B.
interface中可以有final方法
C.
interface中可以有方法实现
D.
interface可以继承其他interface
-
class Person {
private int a;
public int change(int m){return m;}
}
public class Teacher extends Person{
public int b;
public static void main(String arg[]){
Person p = new Person();
Teacher t = new Teacher();
int i;
}
}
-
interface IFace{}
class CFace implements IFace{}
class Base{}
public class ObRef extends Base{
public static void main(String argv[]){
ObRef ob = new ObRef();
Base b = new Base();
Object o1 = new Object();
IFace o2 = new CFace();
}
}
-
Abstract method cannot be static. True or False ?A
A True
B False
-
class Base
{
void test() {
System.out.println("Base.test()");
}
}
public class Child extends Base {
void test() {
System.out.println("Child.test()");
}
static public void main(String[] a) {
Child anObj = new Child();
Base baseObj = (Base)anObj;
baseObj.test();
}
}
-
下列关于修饰符混用的说法,错误的是(D ):
A.abstract不能与final并列修饰同一个类
B.abstract类中可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能处理非static的属性
-
下列说法正确的有(C)
A. class中的constructor不可省略
B. constructor必须与class同名,但方法不能与class同名
C. constructor在一个对象被new时执行
D.一个class只能定义一个constructor
-
-
-
//抽象类是指在class前加使用abstract关键字修饰,且可以存在抽象方法和普通方法的类。
//TRUE
-
//接口中只有常量,没有变量;只有抽象方法,并且全部都是public方法。 //TRUE
-
//抽象类和接口都不能实例化,都没有构造方法。
//FLASE
//确实都不能实例化,但是抽象方法有构造方法
-
-
//内部类作为外部类成员,权限修饰符和其他成员一样,可声明为private、默认、protected或public。
//TRUE
-
-
//垃圾回收机制回收任何对象之前,总会先调用它gc( )方法,该方法是Object类提供的方法。不要主动调用某个对象的该方法,应该交给垃圾回收机制调用。
//FLASE
//其中错误在GC是由System提供的
-
-
//抽象方法的类必须是抽象类,同样抽象类也必须包含抽象方法
//FLASE
//抽象类可以不包含抽象方法
-