1、访问修饰符有哪些?各自的作用范围是什么?
访问修饰符有:protected、private、public、默认修饰符。
Protected:该类及其子类的成员可以访问,同一个包中的类也可以访问。
Private:只有在该类中访问。
Public:该类或非该类均可访问。
默认:相同数据包中的类可以访问。
2、什么是封装?封装有什么特点?
按照信息隐藏的原则,将信息组织在一起。
3、私有属性(private)加get、set方法和公有属性有什么区别?
私有属性(private)加get、set方法,可以通过删除get和set方法,将属性做成只读或只写的属性,但是公有属性不行。
私有属性在设置属性值时,可以在set方法中加人属性有效性的验证,从而避免属性值为无效值,但公有属性不行。
4、静态块在什么时候执行?执行几次?实例化块什么执行?
静态块在类加载时执行,只执行一次;实例化块,每产生一个对象执行一次,在super()之后执行
5、什么是内部类?内部类产生的class文件命名规则是怎样的?
内部类:在一个类中定义一个类。内部类的class文件的命名规则是:外部类名$内部类名.class
6、什么是重写?子类重写父类的方法有什么要求?
重写发生在父类和子类之间,子类的方法名和父类相同、参数列表也相同、返回类型也相同,当调用子类方法时,会优先调用子类重写方法。
子类重写父类的方法,要求子类方法的访问修饰符要大于或等于父类修饰符。
7、什么是多态?
多态:允许一个父类变量引用子类的对象,允许一个接口类型变量引用实现类对象,反过来却不行。一句话描述多态,相同的行为,不同的实现。