Java面试

Java面试,第1张

Java面试 系列文章目录

文章目录
  • 系列文章目录
  • abstract class(抽象类)和interface(接口)有什么区别
  • 接口是否可以继承接口
  • private修饰的方法可以通过反射访问,那么private的意义是什么
  • java类的初始化顺序

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


抽象类,是一个类,它只是用abstract去修饰了

而接口 ,接口并不是类。类是用class定义,而接口是inteface定义

接口里面的方法默认是public 修饰的,并且接口中所有的方法不能有实现(java8以后有默认的实现)

抽象类可以有非抽象方法

接口中的变量默认是 final 抽象类中不一定
所以在接口中定义一个变量,这个变量就是常量,但是抽象类中不能这样写抽象类中必须我们自己加上final才行

一个类可以实现多个接口,但只能实现一个抽象类

一个类实现一个接口,必须要实现这个接口中的所有方法,但是抽象类不一定,因为抽象类里面可能有普通方法,不需要实现,只需要实现它的抽象方法

接口不能用new去实例化,如果用new去实例化就相当于重写了它的所有方法,只有在内部类或者监听回调事件的时候才有可能去new接口
而抽象类是可以new去实例化的,但是我们也一般不new抽象类,

抽象类是一种对类的设计,是一种模板
接口是一种行为的抽象

为什么抽象类是一种对类的设计,是一种模板
接口是一种行为的抽象

接口是否可以继承接口

接口是否可以继承接口,盲猜是不行的,继承不是类与类之间吗,接口不是类所以不行
正确答案:可以
接口是可以继承接口的

private修饰的方法可以通过反射访问,那么private的意义是什么

这道题问得特别好,也很重要
private是访问修饰符,表示的是私有的,但是它并不是保证绝的的不允许别人访问
它不是针对程序安全去设计的
他主要是针对我们开发人员在开发的过程中能够很直观的很容易的发现这些错误,并且避免
这就好像你家里建了一个围墙,但是别人要是实在想翻过来还是可以借助工具翻过来的,那你这个围墙还有什么意义呢
所以不能这么说,我们建围墙不是绝对的想阻拦别人进来,只是让别人知道,你们家建了围墙了,我进去可能有难度,
那么这样一般人就不会进来,如果没有围墙,所有人都可以进来,更加的没有安全性可言

java类的初始化顺序


当我们new一个子类的时候,它里面的顺序是怎么样的

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5678267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存