JAVASE常见面试题总结

在这里插入代码片# JAVASE复习

  1. 是否可以从一个static方法内部发出对非static方法的调用?
不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法的调用。二static方法调用时不需要创建对象,就可以直接调用。也就是所,当一个static方法被调用时,可能还没有创建任何实例对象。如果从一个static方法中发出分static的调用,非静态方法应该关联到哪个对象上呢?所以一个static方法内部不能发出分静态方法的调用。
Static方法是静态方法,是属于类的方法
非静态方法是属于对象的方法,所以在static方法中想要调用非static方法,要先新创建一个对象,在由这个对象来调用非static方法

总结:可以调用,但是要跟随对象调用。
  1. break return continue之间的区别
Break :结束选择|循环结构
Return:返回具体类型给方法调用者;或者提前结束方法体;
Continue:跳过当前循环,继续下一次循环
  1. Overload和Override的区别?Overload的方法是否可以改变返回值的类型?
Override:(重写,覆盖)发生在子类与父类中
方法名,参数,返回值相同,
子类方法不能缩小父类方法的访问权限。
子类方法不能抛出不父类更多的异常(子类可以不抛出异常)
存在父类和子类之间
方法被定义为final则不能被重写

Oveload(重载) 发生在一个方法中
差参数类型,个数,顺序至少有一个不同才能构成重载
不构成重载的修饰位置有权限修饰符,返回值类型。
存在于父类子类,同类中。

Overloaded的方法是可以改变返回值的类型。
  1. 接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?抽象类中是否可以有静态的main方法?
接口可以继承接口,抽象类不可以继承接口,但是可以实现接口。

抽象类可以继承实体类。抽象类可以实现implements接口。
抽象类是否可以继承是实体类?前提是实体类必须有明确构造函数。
抽象类可以继承实体类,就是因为抽象类的可以继承性和私有方法

抽象类中可以包含静态的main方法
  1. abstractclass和interface语法上有什么区别?
抽象类中可以有构造方法,接口中不能有构造方法

抽象类中可以有普通成员变量,接口中没有普通成员变量

抽象类中可以包含非抽象的普通方法,接口中的所有方法都必须是抽象的,不能有非抽象的普通方法

抽象类中的抽象方法的访问类型可以是public,protected,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型

抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final 类型的,并且默认即为public static final 类型

一个类可以实现对个接口,但只能继承一个抽象类。
  1. abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
Abstract和static
不能同时使用
	用static声明的方法表名这个方法在不在生成类的实例时可直接被调用,额abstract方法不能被调用,两者矛盾

Abstract 和 native
Native:用来声明本地方法;
Native可以和所有其他所有的java标识符连用,但是abstrac除外
因为native按时这些方法是有实体的,只不过这些实体是非java的,但是abstract却显然的指明这些方法无实现体。

Abstract 与 synchronized 
Synchronized:用于防止多个线程同时调用一个对象的该方法,与static连用可防止多个线程同时调用一个类的该方法

Abstract与synchronized不能同时使用
从synchronized的功能也可以看出,用synchronized的前提是该方法可以直接被调用,显然不能和abstract连用
  1. 简单说说Java中的异常处理机制的简单原理和应用。
当JAVA程序违反了JAVA的语义规则是,JAVA虚拟机就会将发生的错误表示为一个异常,违反语义规则包括2种情况。一种情况就是JAVA类内置的语义检查,例如数组索引下标越界,会引发IndexOutOfBoundsException;
  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值