Java面试题二(含答案)

11、用最有效率的方法算出2乘以8等於几?

12、Integer与int的区别

13、Math.round(11.5)等於多少?Math.round(-11.5)等於多少?

14、Overload和Override的区别?Overloaded的方法是否可以改变返回值的类型?

15、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?抽象类中是否可以有静态的main方法?

16、Java中实现多态的机制是什么?

17、abstractclass和interface语法上有什么区别?


18、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?


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


20、String s = "Hello";s = s + "world!";这两行代码执行后,原始的String对象中的内容到底变了没有?


答案

11、2<<2 表示左移2位,用数字表示0010,左移三位00001000 答案为8 ;>>表示逻辑右移,一般用的比较少,但是计算速度回快。

12、1)int是基本数据类型,Integer是封装类;2)int的默认值为0,Integer的默认值为null,因此,Integer可以区分null和0的区别;3)Integer定义了表示整数的最大值和最小值的常量。

        在开发中如果有成绩的情况下,要区分学生考试分数为0和未参加考试,可以使用Integer区分,

13、首先要了解到Math的基本函数 ceil、floor、round;ceil表示向上取整例:Math.ceil(11.3)=12; Math.ceil(-11.7)=-11; floor 地板的意思,向下取整 Math.floor(11.6)=11;Math.floor(-13.8)=-14; round表示四舍五入,可以加上0.5之后向下取整Math.round(13.5)=Math.floor(13.5+0.5)=14; Math.round(-11.4)=Math.floor(-11.4+0.5)=-11;

14、原文答案可以自己参考下,太长了,看不下去,于是我自己整理了一番。overload顾名思义方法重载,load是加载的意思嘛,override当然就是方法重写的意思了。区别:方法重写:方法名相同,参数列表不同(参数的个数,参数的类型,参数的位置不同);方法重载:方法名相同,参数列表相同,子类不能抛出比父类更大的异常,返回值或子类相同,访问修饰符不能减小;Overload的方法可以改变返回值的类型,因为它与返回值类型无关。

15、接口可以继承接口。抽象类可以实现(implements)接口,抽象类可以继承具体类。抽象类中可以有静态的main方法。

16、父类或接口引用变量指向子类或实现类实例

17、区别一共7点:1)抽象类中可以有构造方法,接口中不存在;2)抽象类中包含静态方法,接口中不存在;3)抽象类的修饰符为public,protected和默认,接口修饰符为public,默认public abstract;4)抽象类中可以有普通变量,接口中只有静态变量;5)抽象类中包含非抽象方法,接口中的方法都是抽象方法;6)抽象类可以实现多个接口,接口只能继承一个抽象类; 7)抽象类中的静态变量修饰符可以任意,接口中的修饰符只能为 public adstract final;

18、抽象类一般是给子类去实现的,加上static方法后,子类不能重载改方法,所以不能用static;native方法不存在着被子类实现的情况,所以,它也不能是抽象的,不能与abstract混用。同步锁的情况几乎没见过;(这个应该很少见吧,奇葩的面试题)

19、完全可以。如果不是静态内部类,那没有什么限制!内部静态类只能使用外部静态变量,不同变量不能使用

class OuterMyTest {
	static int i = 1;
	int j = 2;
	static class Test {
		void getFun() {
			System.out.println(i);
			System.out.println(j); //编译报错,静态内部类只能访问静态成员
		}
	}
	public static void main(String[] args) {
		Test interTest = new Test();
		interTest.getFun();
	}
}

20、没有变,string s="hello"; 内存String类型对象s,内容为hello,s=s+“world”;内存中新建string对象,内容为helloword;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值