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

目录
相关文章
|
4月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
171 4
|
4月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
261 5
|
4月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
344 5
|
4月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
247 2
|
4月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
306 1
|
4月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
238 0
|
4月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
261 2
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!