目录
4. 是否可以重写一个 private 或者 static 方法?
学习了Java,复习整理了一些遇到过的知识点和问题,该系列也将持续更新下去哦。一起进步吧,码友们,嘿嘿嘿嘿。
1. 面向对象的三大特性?
(1)封装:对数据的访问只能通过已定义的接口。
(2)继承:提供继承信息的类被称为父类(超类/基类),得到继承信息的被称为子类(派生类)
(3)多态:分为编译时多态(方法重载)和运行时多态(方法重写)
2. DK、JRE、JVM 三者之间的关系?
(1)JDK:是 Java 开发工具包,包括了 Java 运行环境 JRE、Java 工具和 Java 基础类库。
(2)JRE:是 Java 的运行环境,包含 JVM 标准实现及 Java 核心类库。
(3)JVM:是 Java 虚拟机,所有的 Java 程序会首先被编译为 .class 的类文件,这种类文件可以在虚拟机上执行。
3. 重载和重写的区别?
(1)重载:编译时多态、同一个类中同名的方法具有不同的参数列表、不能根据返回类型进行区分【因为:函数调用时不能指定类型信息,编译器不知道你要调哪个函数】;
(2)重写(又名覆盖):运行时多态、子类与父类之间、子类重写父类的方法具有相同的返回类型、更好的访问权限。
4. 是否可以重写一个 private 或者 static 方法?
(1)Java 中 static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法是编译时静态绑定的。
(2)不可以覆盖 private 的方法,因为 private 修饰的变量和方法只能在当前类中使用
5. 构造方法有哪些特性?
(1)名字与类名相同;
(2)没有返回值,但不能用 void 声明构造函数;
(3)成类的对象时自动执行,无需调用。