Java 基础语法-面试题(54-63道)(数组+类+包)

简介: Java 基础语法-面试题(54-63道)(数组+类+包)

基础语法面试题(54-63道)(数组+类+包)

54. 定义一个一维的 int 数组,先创建它,并初始化它,给它赋值,然后输出其中的一个值
public class Arr {
    public static void main(String[] args) {
        int a[] = new int[5];
        //a={1,2,3,4,5};//错误 , 只能在初始化时这样做
        a[0]=1;
    a[1]=2;
      System.out.println(a[0]);  //1
    }
}
55. 定义一个一维的 A 类型数组,直接定义并赋值,然后输出其中的一个值
public class A {
    public static int i;
    public static void main(String args[]){
        A aa = new A( );
        A bb = new A( );
        A a[] = {aa,bb};
        a[0].i=2;
        System.out.println(a[0]);
    }
}
//JavaseDemo.A@723279cf
56. 把上面的数组改成 2 维的数组
public class A{
    public static int i;
    public static void main(String args[]){
        A a [][] = new A[5][5];
        a[0][0].i=2;
        System.out.println(a[0][0]);
    }
}
//null
57. 举例说明数组拷贝方法的使用:arraycopy 方法
public class A{
    public static void main(String args[]){
        int a[] = new int[5];
        int b[] = new int[5];
        System.arraycopy(a[5],0,b[5],0,a.length);//主线程异常 索引出界
        System.out.println(b[0]);
    }
}
//Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5
  at JavaseDemo.A.main(A.java:5)

58. 什么是构造和析构方法?功能是?

构造方法:每个类至少有一个构造方法,类初始化时调用的方法


1.方法名和类名相同


2.无返回值类型


格式:访问权限 类名(参数列表) {};


1.自己定义构造后,就没有默认的构造方法


2.无构造方法时,默认为空参的构造方法(无参数,方法体为空)


析构方法:finalize


类销毁时,自动调用方法


当对象在内存中被删除时,自动调用该方法


在此方法中可以写回收对象内部的动态空间的代码


59. 简述 Java 的访问修饰符类型?分别有什么功能?

public 公开的,任何一个类都有可以访问


protected 同包同类,只可被它的子类访问


default 只能被同一个包中类访问


private 私有的,只能在本类中被访问


60. 分别说明:在类上、在属性上、在方法上能使用哪些访问修饰符

在类上:public default final


在方法上: 访问权限:public protected private default


方法修饰符:static


final


返回类型:void


在属性上:public protected private default


static


final


61. 简述什么是包?包的功能

包:对所定义的多个 JAVA 类进行分组,将多个功能相关的类定义到一个包(文件)中。


功能:


易于查找和使用适当的类

包不止包含类和接口,还可以包含其它包,形成层次的包空间

有助于避免命名冲突

62. 请写出 5 个以上的 JDK 中的包,以及他们的基本功能

java.awt: 包含构成抽象窗口工具集的多个类,用来构建和管理应用程序的图形用户界面


java.lang: 提供 java 编成语言的程序设计的基础类


java.io: 包含提供多种输出输入功能的类,


java.net: 包含执行与网络有关的类,如 URL,SCOKET,SEVERSOCKET,


java.applet: 包含 java 小应用程序的类


java.util: 包含一些实用性的类


63. 什么是包装类?Java 中都有哪些包装类

在 JDK 中针对各种基本类型分别定义相应的引用类型 ————–称为封装类


Boolean Byte Short Integer Long Float Double Character

目录
相关文章
|
10天前
|
安全 Java API
告别繁琐编码,拥抱Java 8新特性:Stream API与Optional类助你高效编程,成就卓越开发者!
【8月更文挑战第29天】Java 8为开发者引入了多项新特性,其中Stream API和Optional类尤其值得关注。Stream API对集合操作进行了高级抽象,支持声明式的数据处理,避免了显式循环代码的编写;而Optional类则作为非空值的容器,有效减少了空指针异常的风险。通过几个实战示例,我们展示了如何利用Stream API进行过滤与转换操作,以及如何借助Optional类安全地处理可能为null的数据,从而使代码更加简洁和健壮。
32 0
|
2天前
|
Java API 开发者
【Java字节码操控新篇章】JDK 22类文件API预览:解锁Java底层的无限可能!
【9月更文挑战第6天】JDK 22的类文件API为Java开发者们打开了一扇通往Java底层世界的大门。通过这个API,我们可以更加深入地理解Java程序的工作原理,实现更加灵活和强大的功能。虽然目前它还处于预览版阶段,但我们已经可以预见其在未来Java开发中的重要地位。让我们共同期待Java字节码操控新篇章的到来!
|
4天前
|
安全 前端开发 Java
浅析JVM invokedynamic指令与Java Lambda语法的深度融合
在Java的演进历程中,Lambda表达式无疑是Java 8引入的一项革命性特性,它极大地简化了函数式编程在Java中的应用,使得代码更加简洁、易于阅读和维护。而这一切的背后,JVM的invokedynamic指令功不可没。本文将深入探讨invokedynamic指令的工作原理及其与Java Lambda语法的紧密联系,带您领略这一技术背后的奥秘。
7 1
|
8天前
|
小程序 Java
【aspose-words】Aspose.Words for Java模板语法详细剖析
本文通过详细分析Aspose.Words for Java模板语法,介绍了使用条件块、变量和动态合并表格单元格三个常用模板标签,并结合实际案例进行演示。通过这三个标签的实操,帮助读者更好地掌握Aspose.Words的使用技巧。此外,还提供了官方文档链接以便进一步学习。
43 0
【aspose-words】Aspose.Words for Java模板语法详细剖析
|
11天前
|
机器学习/深度学习 人工智能 算法
探索人工智能在医疗诊断中的应用与挑战Java编程中的对象和类:基础与实践
【8月更文挑战第27天】随着人工智能(AI)技术的飞速发展,其在医疗领域的应用日益广泛。本文深入探讨了AI技术在医疗诊断中的具体应用案例,包括图像识别、疾病预测和药物研发等方面,并分析了当前面临的主要挑战,如数据隐私、算法偏见和法规限制等。文章旨在为读者提供一个全面的视角,理解AI在改善医疗服务质量方面的潜力及其局限性。
|
7天前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
34 0
|
7天前
|
存储 Java
Java编程中的对象和类
在Java的世界中,“对象”与“类”是构建一切的基础。就像乐高积木一样,类定义了形状和结构,而对象则是根据这些设计拼装出来的具体作品。本篇文章【8月更文挑战第31天】 将通过一个简单的例子,展示如何从零开始创建一个类,并利用它来制作我们的第一个Java对象。准备好让你的编程之旅起飞了吗?让我们一起来探索这个神奇的过程!
|
10天前
|
缓存 安全 Java
Java String类
Java String类
11 0
|
11天前
|
缓存 前端开发 Java
浅析JVM invokedynamic指令与Java Lambda语法
【8月更文挑战第27天】在Java的演进历程中,invokedynamic指令的引入和Lambda表达式的出现无疑是两大重要里程碑。它们不仅深刻改变了Java的开发模式和性能表现,还极大地推动了Java在函数式编程和动态语言支持方面的进步。本文将从技术角度浅析JVM中的invokedynamic指令及其与Java Lambda语法的紧密联系。
27 0
|
SQL 缓存 安全
Java高频面试题目
面试时面试官最常问的问题总结归纳!
129 0
下一篇
DDNS