【秋招冲刺】应届生JAVA岗-每日5道高频面试题【Day6】- 基础篇(6)

简介: 【秋招冲刺】应届生JAVA岗-每日5道高频面试题【Day6】- 基础篇(6)

image.png

文章大纲

一:请选出下面关于重写和重载说法正确的选项

二:请选出下面对应重载说法错误的选项

三:请选出下面说法正确的选项

四: 下面那个选项替换到"here"可以让结果输出为:son

五: 下面代码执行会输出什么结果?

每日小结

image.png

大家好,这里是IT学习日记,一个非双一流大学毕业的深漂族,年少曾憧憬大厂,面试过许多家公司,也曾踩过无数坑,深知面试技巧和知识广度与深度对一个应届生乃至工作多年的开发者的重要性。

故特意收集了各个公司、大厂的面试高频题,通过每天打卡的方式,和大家一起记录和学习,希望能够帮助到应届生和开发者们少走弯路,一起冲向大厂!!!

image.png

一:请选出下面关于重写和重载说法正确的选项


A: 在子类中,如果方法没有被public修饰符修饰,则该方法不能重载(Overload)

B: 重写(Override)只需要满足方法名和参数类型相同即可

C: 重写(Override)要求方法的方法名、参数(包括参数类型和参数顺序)、返回值类型都要相同

D: 有相同的方法名、参数名、参数类型则表示该方法被重写了

image.png

  A选项错误: 重载方法与方法的修饰符和返回值类型无关,只跟参数列表(包括参数类型、参数顺序、参数个数)和方法名有关。

image.png

 B选项错误: 重写发生在子类与父类或者子类和接口之间,要求如下(简称:两同两小一大原则):


两同: 表示重写的参数列表(包括参数类型、参数顺序、参数个数)和方法名需要相同。

两小: 表示方法的返回值类型要小于或等于父类的返回值类型和方法抛出的异常要小于或等于父类方法抛出的异常

一大: 表示重写的方法访问修饰符要大于或等于父类方法的修饰符


 @Override注解时JDK自带的注解之一,用于重写的方法之上,如果方法不满足重写的条件,则编译不通过,在重写方法时,建议添加该注解,提高代码可读性。

image.png

D选项错误: 说法不正确,重写的方法需要遵循"两同两小一大"原则。


二:请选出下面对应重载说法错误的选项


A: 重载方法的方法名必须相同

B: 重载方法的区别是参数列表(参数个数或者参数类型)

C: 重载方法的返回值必须一致

D: 重载方法的实现可以不一样

image.png

三:请选出下面说法正确的选项


A: 静态方法不能被重写

B: 静态方法不能被private修饰

C: 私有方法不能被重载

D: 静态方法不能通过对象进行调用

image.png

  A选项正确: 静态方法可以被继承,但是不能被重写。因为静态方法是属于类级别的,在加载到JVM时就已经确定了,但重写是表现多态的一种方式,通过父类引用指向子类,然后在运行时再确定具体的类型从而执行不同的逻辑。

image.png

    B选项错误: 静态方法和普通方法一样可以被public、protected,默认修饰符、private修饰。

image.png

 C选项错误: 重载是表示相同的方法名有不同的参数列表的方法,与返回值类型和访问修饰符无关。



 D选项错误: 静态方法是属于类级别的方法,可以通过类名和实例对象名调用(不推荐使用实例调用静态方法)。




四: 下面那个选项替换到"here"可以让结果输出为:son

public class DemoFather {
    private String name;
    public static void main(String[] args) {
        DemoFather item = new DemoSon();
        // here
    }
}
class DemoSon extends DemoFather{
    private String name;
    public String output(){
        name = "son";
        return name;
    }
}

A: System.out.println(item.name);

B: System.out.println(item.output());

C: System.out.println(((DemoSon)item).output());

D: System.out.println((DemoFather)item).output());

image.png

五: 下面代码执行会输出什么结果?

class Parent {
    public Parent() {
        System.out.println("A");
    }
}
public class Son extends Parent {
    public Son() {
        System.out.println("B");
    }
    public static void main(String[] args) {
        Parent a = new Son();
        a = new Parent();
    }
}

image.png

每日小结


  不积跬步,无以至千里;不积小流,无以成江海。今天播种努力的种子,总会有一天发芽!


  欢迎大家关注,如果觉得文章对你有帮助,不要忘记一键三连哦,你的支持是我创作更加优质文章的动力,希望大家都能够早日拿到心仪的Offer,有任何面试问题可以私信我,欢迎大家投稿面试题目哦!


相关文章
|
1月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
67 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
2月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
4月前
|
SQL Java Unix
Android经典面试题之Java中获取时间戳的方式有哪些?有什么区别?
在Java中获取时间戳有多种方式,包括`System.currentTimeMillis()`(毫秒级,适用于日志和计时)、`System.nanoTime()`(纳秒级,高精度计时)、`Instant.now().toEpochMilli()`(毫秒级,ISO-8601标准)和`Instant.now().getEpochSecond()`(秒级)。`Timestamp.valueOf(LocalDateTime.now()).getTime()`适用于数据库操作。选择方法取决于精度、用途和时间起点的需求。
65 3
|
4月前
|
NoSQL Java 应用服务中间件
Java高级面试题
Java高级面试题
111 1
|
4月前
|
网络协议 安全 前端开发
java面试题
java面试题
|
4月前
|
NoSQL Java 关系型数据库
常见Java面试题
常见Java面试题
|
存储 Java 程序员
Java面试题日积月累(数据库30道)
Java面试题日积月累(数据库30道)
68 0
|
4月前
|
SQL 安全 Java
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
53 0
|
4月前
|
druid Java 数据库连接
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
81 0
|
4月前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
66 0