下列关于Java程序结构的描述中,不正确的是( )。
A.一个Java源文件中可以包括一个package语句
B.一个Java源文件中可以包括多个类定义,但是只能有一个public类
C.一个Java源文件中可以有多个public类
D.源文件名与程序类名必须一致
( 19 )下列叙述中,错误的是
A ) Java 中,方法的重载是指多个方法可以共草同一个名字
B ) Java 中,用 abstract 修饰的类称为抽象类厂它不能实例化
C ) Java 中,接口是不包含成员变量和方法实现省勺抽象类
D ) Java 中,构造方法可以有返回值
下列叙述中,错误的是
A.Java中,方法的重载是指多个方法可以共享同一个名字
B.Java中,用abstract修饰的类称为抽象类,它不能实例化
C.Java中,接口是不包含成员变量和方法实现的抽象类
D.Java中,构造方法可以有返回值
A.继承可以避免代码复制和相关的代码维护等问题
B.Java语言中一个子类可以继承多个基类(多重继承)
C.Java语言不允许实现多个接口
D.子类可以继承父类的方法,但不能重新改写父类的方法
对于类的说法中,不正确的一项是______。
A.类中的每个方法都由方法头和方法体构成
B.一般类体的域包括常量、变量、数组等独立的实体
C.Java程序中可以有多个类,但是公共类只有一个
D.Java程序可以有多个公共类
目录Java面试题整理- 6 -Java面向对象- 6 -1.super()与this()的区别?- 6 -2.作用域public,protected,private,以及不写时的区别?- 6 -3.编程输出如下图形。- 6 -4.JAVA的事件委托机制和垃圾回收机制- 6 -5.在JAVA中,如何跳出当前的多重嵌套循环?- 6 -6.什么是java序列化,如何实现java序列化?(写一个实例)- 6 -7.一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制?- 7 -8.排序都有哪几种方法?请列举。用JAVA实现一个快速排序?- 7 -9.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?- 7 -10.Final类有什么特点?- 7 -11.继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?- 7 -12.内部类的实现方式?- 8 -13.用JAVA实现一种排序,JAVA类实现序列化的方法(二种)?- 8 -14.如在COLLECTION框架中,实现比较要实现什么样的接口?- 8 -15.用插入法进行排序代码如下- 8 -16.编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如我ABC4,应该截为我AB,输入我ABC汉DEF,6,应该输出为我ABC而不是我ABC+汉的半个。- 9 -15、Java编程,打印昨天的当前时刻- 9 -16、文件读写,实现一个计数器- 10 -17、指出下面程序的运行结果。- 10 -18、抽象类和接口的区别?- 10 -19、什么是类的返射机制?- 11 -20、类的返射机制中的包及核心类?- 11 -21、得到Class的三个过程是什么?- 11 -22、如何唤起类中的一个方法?- 11 -23、如何将数值型字符转换为数字(Integer,Double)?- 11 -24、官网爱辅助网:www.aifuzhu.top- 11 -25、如何去小数点前两位,并四舍五入。- 11 -26、如何取得年月日,小时分秒?- 11 -27、如何取得从1970年到现在的毫秒数- 11 -28、如何获取某个日期是当月的最后一天?- 11 -29、如何格式化日期?- 12 -30、编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。- 12 -32、String s = new String(xyz);创建了几个String Object?- 12 -33、float型float f=3.4是否正确?- 12 -35、说出一些常用的类,包,接口,请各举5个- 12 -36、java中会存在内存泄漏吗,请简单描述。- 12 -37、java中实现多态的机制是什么?- 13 -38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?- 13 -39、静态变量和实例变量的区别?- 13 -41、是否可以从一个static方法内部发出对非static方法的调用?- 13 -42、写clone()方法时,通常都有一行代码,是什么?- 13 -43、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?- 13 -45、冒泡排序法- 13 -46、String and StringBuffer的区别?- 14 -47、用java代码编写堆栈- 14 -48、集合的作用是什么?- 15 -49、集合的通用方法有那些?通用方法是什么?(操作)- 15 -50、说出ArrayList,Vector, LinkedList的存储性能和特性HashMap和Hashtable的区别- 15 -51、Collection 和 Collections的区别。- 15 -52、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用=还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用。- 15 -53、List, Set, Map是否继承自Collection接口?- 16 -54、面向对象的特征有哪些方面- 16 -55、String是最基本的数据类型吗?- 16 -56、int 和 Integer 有什么区别?- 16 -57、运行时异常与一般异常有何异同?- 16 -58、&和&的区别?- 16 -59、final, finally, finalize的区别?- 16 -62、heap和stack有什么区别?- 16 -63、Static Nested Class 和 Inner Class的不同?- 16 -64、什么时候用assert?- 17 -65、GC是什么? 为什么要有GC?- 17 -66、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?- 17 -67、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?- 17 -68、Java有没有goto?- 17 -69、给我一个你最常见到的runtime exception- 17 -70、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?- 17 -71、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?- 17 -72、数组有没有length()这个方法? String有没有length()这个方法?- 18 -73、构造器Constructor是否可被override?- 18 -74、是否可以继承String类?- 18 -75、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?- 18 -76、try 里有一个return语句,那么紧跟在这个try后的finally 里的code会不会被执行,什么时候被执行,在return前还是后?- 18 -77、编程题: 用最有效率的方法算出2乘以8等於几?- 18 -78、两个对象值相同(x.equals(y) = true),但却可有不同的hash code,这句话对不对?- 18 -79、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?- 18 -80、四种会话跟踪技术- 18 -81、编程题: 写一个Singleton出来。- 18 -83、Java中的异常处理机制的简单原理和应用。- 19 -84、垃圾回收的优点和原理。并考虑2种回收机制。- 19 -85、描述一下JVM加载class文件的原理机制?- 19 -86、char型变量中能不能存贮一个中文汉字?为什么?- 19 -88、写一个程序,从文件(c:test.txt)中查出字符串”mobnet”出现的次数?- 19 -java基础类库(io流,集合类,线程,Socket,AWT,Swing,sql)- 20 -1、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?- 20 -2、启动一个线程是用run()还是start()?- 20 -3、线程的基本概念、线程的基本状态以及状态之间的关系- 20 -4、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?- 20 -用synchoronized修饰同步方法。- 20 -5、集合框架有什么?- 20 -12、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序- 21 -13、同步和异步有和异同,在什么情况下分别使用他们?举例说明。- 21 -14、sleep() 和 wait() 有什么区别?- 22 -15、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?- 22 -17、输入输出流的理解:- 22 -18、请写一个程序的读写,要求用两种方式一种是低层流另一种是高层流。- 22 -19、如何列出某个目录下的所有文件- 23 -Socket- 24 -20、用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据?- 24 -23、介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?- 25 -24、请说出你所知道的线程同步的方法- 25 -jdbc数据访问技术- 25 -1、JDBC如何做事务处理?- 25 -2、写出几个在Jdbc中常用的接口- 25 -3、简述你对Statement,PreparedStatement,CallableStatement的理解- 25 -4、Java中访问数据库的步骤?- 26 -5、JDBC中的核心类及其作用是什么?- 26 -6、执行存储过程用那一个类,如何操作输出参数?(操作)- 26 -8、可能会让你写一段Jdbc连Oracle的程序.- 26 -9、Class.forName的作用?为什么要用?- 26 -10、Jdo是什么?- 26 -11、在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法- 27 -Web编程Jsp&Servlet技术- 27 -1、简单说说tomcat的配置?- 27 -2、JSP中动态INCLUDE与静态INCLUDE的区别?- 27 -3、forward和redirect的区别?- 27 -4、Servlet的体系结构是什么?- 28 -Servlet- 28 -5、如何实现一个自定义的servlet?- 28 -6、Servlet的生命周期是什么?- 28 -7、jsp就是一个servlet是否正确?- 28 -8、请罗列jsp中的脚本、指令及动作?- 28 -9、JSP的内置对象及方法- 28 -10、说出在JSP页面里是怎么分页的?- 28 -11、include的两种实现方式的区别?- 30 -12、jsp页面中两种跳转方式分别是什么?有什么区别?- 30 -13、描述JSP和Servlet的区别、共同点、各自应用的范围- 30 -14、在JSP中如何读取客户端的请求,如何确定某个Jsp文件的真实路径?- 30 -15、描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。- 30 -16、说明Jsp中errorPage的作用,应用范围。- 31 -17、介绍在Jsp中如何使用JavaBeans- 31 -19、简单介绍
下列说法中,错误的一项是______。
A.一个Applet可以有多个类,但是继承java.applet.Applet的公有类只有一个
B.一个Applet只能由一个继承java.applet.Applet类的公有类构成 ’
C.Applet继承java.applet.Applet类的公有类名必须和源文件名一致
D.JApplet必须是java.Swing.JApplet的子类
基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的
语法,集合的语法,io 的语法,虚拟机方面的语法,其他
1、一个".java"源文件中是否可以包括多个类(不是内部
类)?有什么限制?
可以有多个类,但只能有一个public 的类,并且public 的类名必须与文件名相一致。
Overload 和Override 的区别。Overloaded 的方法是否
可以改变返回值的类型?
Overload 是重载的意思,Override 是覆盖的意思,也就是重写。
重载Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数
个数或类型不同)。
重写Override 表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实
例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖
了,这也是面向对象编程的多态性的一种表现。子类覆盖父类的方法时,只能比父类抛出更少的异常,或
者是抛出父类抛出的异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题。子类
方法的访问权限只能比父类的更大,不能更小。
至于Overloaded 的方法是否可以改变返回值的类型这个问题,要看你倒底想问什么呢?这个题目很模
糊。如果几个Overloaded 的方法的参数列表不一样,它们的返回者类型当然也可以不一样。但我估计你想
问的问题是:如果两个方法的参数列表完全一样,是否可以让它们的返回值不同来实现重载Override。这
是不行的,我们可以用反证法来说明这个问题,因为我们有时候调用一个方法时也可以不定义返回结果变
量,即不要关心其返回结果,例如,我们调用map.remove(key)方法时,虽然remove 方法有返回值,但是
我们通常都不会定义接收返回结果的变量,这时候假设该类中有两个名称和参数列表完全相同的方法,仅
仅是返回类型不同,java 就无法确定编程者倒底是想调用哪个方法了,因为它无法通过返回结果类型来判
断。
排序都有哪几种方法?请列举。用JAVA实现一个快速
排序。
本人只研究过冒泡排序、选择排序和快速排序,下面是快速排序的代码:
public class QuickSort {
/**
* 快速排序
* @param strDate
* @param left
* @param right
*/
public void quickSort(String[] strDate,int left,int right){
String middle,tempDate;
int i,j;
i=left;
j=right;
middle=strDate[(i+j)/2];
do{
while(strDate[i].compareTo(middle)<0&& i<right)
i++; //找出左边比中间值大的数
while(strDate[j].compareTo(middle)>0&& j>left)
j--; //找出右边比中间值小的数
if(i<=j){ //将左边大的数和右边小的数进行替换
tempDate=strDate[i];
strDate[i]=strDate[j];
strDate[j]=tempDate;
i++;
j--;
}
}while(i<=j); //当两者交错时停止
if(i<right){
quickSort(strDate,i,right);//从
}
if(j>left){
quickSort(strDate,left,j);
}
}
/**
* @param args
*/
public static void main(String[] args){
String[] strVoid=new String[]{"11","66","22","0","55","22","0","32"};
QuickSort sort=new QuickSort();
sort.quickSort(strVoid,0,strVoid.length-1);
for(int i=0;i<strVoid.length;i++){
System.out.println(strVoid[i]+" ");
}
}
}
7、有数组a[n],用java 代码将数组元素顺序颠倒
package cn.itcast.lecture2;
import java.util.Arrays;
import java.util.Collections;
public class ReverseTest {
public static void main(String [] args)
{
//产生若干0到1000的随机数,作为数组的初始值
int data[] = new int[]{
(int)(Math.random() * 1000),
(int)(Math.random() * 1000),
(int)(Math.random() * 1000),
(int)(Math.random() * 1000),
(int)(Math.random() * 1000),
(int)(Math.random() * 1000),
(int)(Math.random() * 100),
};
System.out.println(Math.random());
System.out.print("交换前的数据:");
System.out.println(
Arrays.toString(data));
reverse(data);
System.out.print("交换后的数据:");
System.out.println(Arrays.toString(data));
}
//方法执行完后,参数data中的数据顺序即被颠倒
//实现思路是第1个和第n个交换,第2个和第n-1个交换,依次类推...
public static void reverse(int[] data)
{
int len = data.length;
for(int i=0;i<len/2;i++)
{
int temp = data[i];
data[i] = data[len-1-i];
data[len-1-i] = temp;
}
}
}
2.金额转换,阿拉伯数字的金额转换成中国传统的形式如:
(¥1011)->(一千零一拾一元整)输出。
public class RenMingBi {
/**
* @param args add by zxx ,Nov 29, 2008
*/
private static final char[] data = new char[]{
'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'
};
private static final char[] units = new char[]{
'元','拾','佰','仟','万','拾','佰','仟','亿'
};
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(
convert(135689123));
}
public static String convert(int money)
{
StringBuffer sbf = new StringBuffer();
int unit = 0;
while(money!=0)
{
sbf.insert(0,units[unit++]);
int number = money%10;
sbf.insert(0, data[number]);
money /= 10;
}
return sbf.toString();
}
}
下面关于继承的叙述正确的是 ( )
A.在Java中类间只允许单一继承
B.在Java中一个类只能实现一个接口
C.在Java中一个类不能同时继承一个类和实现一个接口
D.在Java中一个类可以同时继承多个类