Java基础面试每日3题:day09

1.Java中多态的运行机制是什么?

  靠的是父类或者接口的引用变量可以指向子类或者具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型定义的方法

2.抽象类(abstract class)和接口(interface)有什么区别?

  含有abstract 修饰符修饰的 class 即为抽象类,abstract类不能创建实例对象。含有abstract方法的类 必须定义为abstract class,abstract class 类中的方法不必是抽象的。abstract class类中定义的抽象方法必须在子类中实现,所以,不能有抽象静态方法和抽象构造方法。如果子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract 类型。

  接口,可以说成抽象类的一种特例,接口中的所有方法都必须是抽象的(注意:在Java 8 允许接口有默认方法和静态方法了,子类可以重写接口的默认方法)。接口中的方法默认定义为public abstract 类型,接口中的成员变量类型默认为public static final

  两者区别
1. 抽象类 可以有构造方法,接口中 不能有构造方法
2. 抽象类中 可以有普通成员变量,接口中 没有普通成员变量
3. 抽象类 可以包含非抽象的普通方法,接口中的所有方法 都是抽象的,不能有非抽象的普通方法。
4. 抽象类中的抽象方法的方法类型可以是 public protected(private 私有的就不用说了,私有的话没有意义。默认 default 不行)。接口中的抽象方法只能是 public 类型的,并且默认即为public abstract 类型 。
5. 抽象类中 可以包含静态方法,接口中 不能包含静态方法
6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量可以是任意的,但接口中定义的变量 只能是public static final 类型,并且默认即为 public static final 类型
7. 一个类只能 继承一个抽象类,但可以 实现多个接口

3.字符型常量和字符串常量的区别

  形式上: 字符常量是单引号引起的一个字符;字符串常量是双引号引起若干个字符

  含义上: 字符常量相当于一个整形值(ASCII值),可以参加表达式运算;字符串常量代表一个地址值(该字符串在内存中存放位置)

  占内存大小: 字符常量只占两个字节;字符串常量占若干个字节(至少一个字符结束标志)(注意:char 在Java中占两个字节
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值