java面试每日十题(四)

本文深入解析Java中的关键概念,包括接口继承、抽象类实现、内部类引用、数据类型转换、字符串操作等,揭示了Java与JavaScript的主要区别,帮助读者全面理解Java编程的基础。

 31、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?

答:接口可以继承一个或多个接口,抽象类可以继承一个类或实现多个接口,抽象类也可以继承具体类。


32、一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制?

答:可以的。但是只允许有一个public类,并且类名必须和文件名一致。这样做的意思是每个编译单元只有一个公开的接口,如果有多个public类,程序就不知道从哪里导入了,编译器就会报错。

 


33、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?

答:匿名内部类是没有名字的内部类,不存在构造方法,匿名内部类在实现时必须借助一个类或接口,它本身就继承了Object类,所以不能继承其它类或实现接口了。

 


34、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?

答:如果不是静态嵌套类的话,可以随便访问没有限制;如果是静态嵌套类,那就只能访问外部类中的静态成员变量,不可以访问外部类的普通成员变量。

 


35、Java 中的final关键字有哪些用法?

答:修饰变量:表示变量只能进行一次赋值并且赋值以后不可被修改(常量);

修饰参数:表示在方法中不能改变参数的值;

修饰类:final修饰的类不可被继承;修饰方法:表示该方法不能被重写。

 


36、数据类型之间的转换:

答:java中有两种数据类型转换:自动类型转换和强制类型转换。

自动类型转换是由jvm自动完成的,是由范围小的数据类型转换为范围大的数据类型,即

byte<short(char)<int<long<float<double。注意当整数类型比较大的转换为小数类型的时候可能会出现数据精度损失。

强制类型转换要书写代码才能够完成,是由范围大的数据类型转换范围小的数据类型,即double-float-long-int-short(char)-byte。强制类型转换很可能存在精度损失,语法格式为:范围小的类型 参数 = (转换的类型)需要转换的值;

 


37、如何实现字符串的反转及替换?

答:

输出的结果是:hello ;olleh ;h777o。

 


38、怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?

答:需要用到中间辅助类byte[ ],原理是将字符串转化为byte,然后byte转换成字符串同时转码,要注意异常的捕获。


39、打印昨天的当前时刻。

 

 

40、比较一下Java和JavaSciprt。

答:JavaScript与Java是两个公司开发的不同的两个产品。Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于互联网应用程序开发;而 JavaSciprt是Netscape公司的产品,其目的是为了扩展 Netscape 浏览器功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言, 它的前身是LiveScript;而Java的前身是Oak语言。下面对两种语言间的异同作如下比较:

1)基于对象和面向对象:Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象;JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用 的复杂软件。它是一种基于对象(Object-Based)和事件驱动(Event-Driver) 的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用;

2)解释和编译:Java的源代码在执行之前,必须经过编译;JavaScript是一种解释性编程语言,其源代码不需经过编译,由浏览器解释执行;

3)强类型变量和类型弱变量:Java采用强类型变量检查,即所有变量在编译之前必须作声明;JavaScript中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型;

4)代码格式不一样。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值