java基础知识总结(5)

 

41、是否可以继承String?
42
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String?
43
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
44
、编程题: 用最有效率的方法算出2乘以8等於几?
45
、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
46
、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
47
、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
48
、编程题: 写一个Singleton出来。
49
Java的接口和C++的虚类的相同和不同处。
50
Java中的异常处理机制的简单原理和应用。

 

41、是否可以继承String?
String
类是final类故不可以继承。


42
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String?
switch
expr1)中,expr1是一个整数表达式。因此传递给 switch case 语句的参数应该是 int short char 或者 bytelong,string 都不能作用于swtich


43
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
会执行,在return前执行。


44
、编程题: 用最有效率的方法算出2乘以8等於几?
2 << 3


45
、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
不对,有相同的hash code


46
、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。


47
、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
不能,一个对象的一个synchronized方法只能由一个线程访问。


48
、编程题: 写一个Singleton出来。
Singleton
模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
一般Singleton模式通常有几种种形式:
第一种形式: 定义一个类,它的构造函数为private的,它有一个staticprivate的该类变量,在类初始化时实例话,通过一个publicgetInstance方法获取对它的引用,继而调用其中的方法。
public class Singleton {
private Singleton(){}
   file://在自己内部定义自己一个实例,是不是很奇怪?
   file://注意这是private 只供内部调用
   private static Singleton instance = new Singleton();
   file://这里提供了一个供外部访问本class的静态方法,可以直接访问  
   public static Singleton getInstance() {
     return instance;   
   }
}
第二种形式:
public class Singleton {
  private static Singleton instance = null;
  public static synchronized Singleton getInstance() {
  file://这个方法比上面有所改进,不用每次都进行生成对象,只是第一次     
  file://使用时生成实例,提高了效率!
  if (instance==null)
    instancenew Singleton();
return instance;
  }
}
其他形式:
定义一个类,它的构造函数为private的,所有方法为static的。
一般认为第一种形式要更加安全些


49
Java的接口和C++的虚类的相同和不同处。
由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口。


50
Java中的异常处理机制的简单原理和应用。
JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值