欢迎来到天天文库
浏览记录
ID:51723251
大小:261.50 KB
页数:5页
时间:2020-03-15
《java面试题答案(热点题型).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1、抽象类和接口的区别?答:、抽象类在Java语言中表示一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个接口。、在抽象类中可以有自己的数据成员,也可以有非抽象类的成员方法,而接口中,只能有静态的不能被修改的数据成员(即成员属性必须是staticfinal的,但接口中一般不定义数据成员),所有的成员方法都是抽象的。、抽象类和接口所反映的设计理念不同。抽象类表示“is-a”关系,接口表示“like-a”关系。、实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法;接口中不能有实现方法。、接口中定义的变量默认是publicstaticfinal型,必须给
2、其赋初值,所以实现类中不能重新定义,也不能改变其值。抽象类中的变量默认是友好型(friendly),其值可以在子类中重新定义,也可以重新赋值。、接口中的方法默认都是public,abstract类型的。2、在Java中一个类被声明为final类型,表示了什么意思?答:如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。(扩展:将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法
3、也同样只能使用,不能重载。)3、Error与Exception有什么区别?答:Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题,比如,内存资源不足等,对于这种错误,程序基本无能为力,除了退出运行外别无选择。Exception(违例或异常)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者外在的输入等引起的一般性问题,是程序必须处理的4、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?答:Overload表示重载,Override表示覆盖或重写。重载(Ove
4、rload)表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。重写(Override)表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这是面向对象编程的多态性的一种表现。如果几个Overloaded的方法的参数列表不一样,它们的返回值类型当然也可以不一样。如果两个方法的参数列表完全一样,通过让它们的返回值不同来实现重载Overload是不行的。5、接口是否可以继承接口?抽象类是否可以实现(implements)接口?抽
5、象类是否可以继承实体类(concreteclass)?答:接口不可以继承接口,接口之间有类似继承的关系,但是严格说成是继承是不对的,因为接口是要被实现而不是被继承的。抽象类可实现接口。抽象类可以继承实体类,但是要求实体类必须有明确的构造函数。6、构造器Constructor是否可被override?答:构造器Constructor不能被继承,因此不能重写Override,但可以被重载Overload。7、是否可以继承String类?答:string类是final类故不可以继承。8、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,
6、什么时候被执行,在return前还是后?答:会执行,在return前执行。9、swtich是否能作用在byte上,是否能作用在long上,是否能作用在string上?答:switch(expr1)中,expr1是一个整数表达式。因此传递给switch和case语句的参数应该是int、short、char或者byte。但是long,string都不能作用于swtich。10、编程题:写一个Singleton答:/***单例模式的目的就是要控制特定的类只产生一个对象,允许在一定情况下灵活的*改变对象的个数,提供一个访问它的全局访问点。*/publicclassSingleTon{priv
7、atestaticSingleTonsingleTon=newSingleTon();privateSingleTon(){}publicstaticSingleTongetInstance(){//获得实例returnsingleTon;}publicstaticvoidmain(String[]args){SingleTons1=SingleTon.getInstance();SingleTons2=SingleTon.getInstance();Sy
此文档下载收益归作者所有