1、关于用abstract定义的类,下列说法中正确的是:
A.可以被实例化 B.不能够派生子类 C.不能被继承 D.只能被继承
答案:
父类中的某些方法不包含任何逻辑,并且需要由子类重写,在这种情况下,应该使用关键字abstract来声明父类中的方法,子类提供对这种abstract方法的实现细节。而父类仅提供此方法的名称和声明,没有方法的主体,因此子类应该负责重写此方法。
任何包含一个或多个抽象方法的类也应该声明为抽象。要声明一个抽象类,在class关键字前应该加上关键字abstract。抽象类不能被实例化,构造方法和static 方法不能被声明为abstact。abstract类的任何子类必须实现父类中声明的所有abstract方法,否则子类必须声明为抽象类。
abstract类不能有对象,但他们可以用来创建对象引用,因为java运行时多态性是通过类引用实现的。因此,对象可以来创建对抽象类的引用,抽象类可以指向子类的对象。
2、当类成员未使用修饰符修饰时,Java认为该成员的访问权限是:
A.public B.friendly C.protected D.privare
答案:
起始严格来讲是没有答案的 friendly不用于Java 它属于c++术语。对于一个Class的成员变量或成员函数,如果不用public, protected, private中的任何一个修饰,那么该成员获得“默认访问控制”级别,即package access (包访问)。
属于package access的成员可以被同一个包中的其他类访问,但不能被其他包的类访问。
包访问的控制力弱于private,但强于protected。因为一方面,只要是子类,不管子类与父类是否位于同一个包中,那么子类都可以访问父类中的protected方法。但是一旦位于原类的包外,不管是否是其子类,都无法访问其属于package access级别的成员。而另一方面,一个类可以访问同一个包中另一个类的package access成员,同时也能访问其protected成员。
(注:package是Java中的关键字,虽然包访问也是一种访问控制级别,但关键字”package”只能用来表示类属于哪个包,而不能像”private”,”public”那样放到成员变量或函数前面,作为访问控制修饰符。)
访问级别保护的强度:public<protected<默认<private
3、在面向对象的语言中, 以下描述错误的包括(B ) 。
A.类的实例化是指对类的实例分配存储空间
B.每个类都必须创建一个实例
C.每个类只能创建一个实例
D.类的实例化是指对类进行初始化
答案:B。因为抽象类不能创建实例,只能被继承
4、有以下方法的定义,请选择该方法的返回类型(b d)。
ReturnType method(byte x, double y) {
return (short)x/y*2;
}
A、byte B、short C、int D、double
答案:D。先转换,再除,再乘。
5、阅读以下代码:
import java.io.*;
import java.util.*;
public class foo{
public static void main (String[] args){
String s;
System.out.println("s=" + s);
}
}
输出结果应该是:(c)
A、代码得到编译,并输出“s=”
B、代码得到编译,并输出“s=null”
C、由于String s没有初始化,代码不能编译通过
D、代码得到编译,但捕获到 NullPointException异常
6、编译运行以下程序后,关于输出结果的说明正确的是 (c)
public class Conditional{
public static void main(String args[ ]){
int x=4;
System.out.println(“value is “+ ((x>4) ? 99.9:9));
}
}
A、输出结果为:value is 99.9 B、输出结果为:value is 9
C、输出结果为:value is 9.0 D、编译错误
7、指出下列程序运行的结果 ( b)
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 ");
Sytem.out.print(ex.ch);
}
public void change(String str,char ch[]){
str="test ok";
ch[0]='g';
}
}
A、 good and abc
B、 good and gbc
C、 test ok and abc
D、 test ok and gbc
8、给出下面代码段, 哪行将引起一个编译时错误?( d)
1.public class Test {
2. int n = 0;
3. int m = 0;
4. public Test(int a) { m=a; }
5. public static void main(String arg[]) {
6. Test t1,t2;
7. int j,k;
8. j=3; k=5;
9. t1=new Test();
10. t2=new Test(k);
11. }
12.}
A、 行1 B、 行4 C、行6 D、行9
9、选项中哪一行代码可以替换题目中//add code here而不产生编译错误?(a )
public abstract class MyClass {
public int constInt = 5;
//add code here
public void method() {
}
}
A、public abstract void method(int a);
B、value = value + 5;
C、public int method();
D、public abstract void anotherMethod() {}
10、下面是People和Child类的定义和构造方法,每个构造方法都输出编号。在执行new Child("mike")的时候都有哪些构造方法被顺序调用?请选择输出结果(d )
class People {
String name;
public People() { System.out.print(1); }
public People(String name) {
System.out.print(2);
this.name = name;
}
}
class Child extends People {
People father;
public Child(String name) {
System.out.print(3);
this.name = name;
father = new People(name + ":F");
}
public Child(){ System.out.print(4); }
}
A、312 B、32
C、432 D、132
11、以下程序编译不通过
class People {
String name;
//public People() { System.out.print(1); }
public People(String name) {
System.out.print(2);
this.name = name;
}
}
class Child extends People {
People father;
public Child(String name) {
System.out.print(3);
this.name = name;
father = new People(name + ":F");
}
}
相关推荐
这套课程既可以作为从零基础开始学习的JAVA基础到高级学习教程,对于有JAVA基础的同学来说可以略过前面的JAVA基础章节,直接学习后续的JAVA高级部分课程。更可以灵活的作为章节技术,进行针对性的JAVA学习。还是要...
Java 基础知识大全 本资源摘要信息是 Java 基础知识大全的总结,涵盖了 Java 语言的基本概念、特点、历史发展等方面的知识点。以下是本资源摘要信息的详细内容: 一、 Java 语言的特点 * 面向对象:Java 语言是...
本文将对《Java 基础入门》课后习题答案进行总结,涵盖了 Java 基础知识点,包括 Java 开发入门、Java 基础类、变量类型、运算符、控制流语句、方法重载等。 一、Java 开发入门 * Java EE、Java SE、Java ME 是 ...
《Java基础入门(第3版)》是一本针对Java初学者的教材,其课后答案文档提供了对书中习题的解答,旨在帮助读者巩固所学知识。Java是一种面向对象的编程语言,具备跨平台性,由Java虚拟机(JVM)负责解释执行。Java...
市面上目前流传的java基础视频教程都是讲一些最基础的java语法和相关API的应用,然而用人单位对初级程序员的要求越来越高,那些讲解java基础语法的视频教程已经无法满足大众的学习要求。本套视频教程录制完中国第一...
《Java基础教程(第3版)_ppt.rar》是一个包含多个PPT文件的压缩包,主要用于教学目的,提供了关于Java编程语言的基础知识。这个资源涵盖了Java的核心概念,从基本的类和对象到高级特性如多线程和数据库操作。以下是...
《Java基础案例教程(第2版)》是一本旨在教授初学者Java编程基础知识的教材,其教学设计旨在通过实例引导学生深入理解Java语言的核心概念。本教程覆盖了从环境搭建到程序设计的各个环节,旨在帮助学生建立起坚实的...
资源名称:Java基础加强系列视频课程资源目录:【】黑马程序员Java基础加强(01-10)【】黑马程序员Java基础加强(11-20)【】黑马程序员Java基础加强(21-30)【】黑马程序员Java基础加强(31-40)【】黑马程序员...
《Java 基础入门》课后习题答案 第 第 1 章 Java 开发入门 一、填空题 1、 Java EE、Java SE、Java ME 2、 JRE 3、 javac 4、 bin 5、 path、classpath 二、选择题 1、ABCD 2、C 3、D 4、B 5、B 三、简答题 1、 面向...
Java基础实例大全适合于初学者 这里是所有Java技术点的集合 每个技术点都有对应的例子。 经典制作不容错过。。。 特别是对Java书籍很迷惑,想看看实际例子的朋友,这里就有你所需要的. Java基础实例大全适合于初学...
【Java基础知识点】 1. **Java的起源与特性** - Java是由SUN Microsystems公司(后被Oracle收购)开发的一种面向对象的编程语言。 - Java有三个主要版本:Java Standard Edition (JavaSE),用于桌面应用;Java ...
"黑马程序员java基础试题、笔记"这个压缩包资源为Java初学者和希望加入"黑马程序员"培训课程的学员提供了丰富的学习材料。这些资源包括面试问题合集、整理的资料、Android面试题、学员入学面试总结、面试技巧、必须...
Java 基础入门,适合初学入门java的同学
Java基础练习题由本人整理并上传,非常适合于初学者加强巩固自己的知识,编程学好的唯一途径就是多练习。
java基础知识的培训ppt,对于java初学者来说可以有一些作用。
java基础的案例分析和实例教学,适合新手及回顾查阅,对于夯实基础有好处
java基础知识,帮助初学者更快更好地掌握java。ppt内容具体易懂,希望对刚接触java的初学者有所帮助。
写的很详细,适合初学者,里面的讲解很丰富,很有学习价值,最好是配套一本详细的JAVA基础一起看,会有更好的效果