【简单且实用】Java基础面试题

1.如何理解基本数据类型和引用数据类型

基本数据类型:数值型(int、long等)、字符型(char)、布尔型(boolean)

引用数据类型:数组(array)、类(class)、接口(interface)

基本数据类型的变量名对应的就是该变量本身。

引用数据类型中的引用是一个地址,该地址指向它的实例对象。

2.如何理解引用和对象

对于下面的代码:

public class Student{
    public static void main(String[] args){
        //看下面这句代码
		Student s = new Student();
    }
}

在这句代码中,s就是是一个引用,new Student()就是创建一个实例对象的操作,那么s这个引用中存储的就是一个地址,该地址指向它的对象Student

看下图:

在这里插入图片描述

3.如何理解局部变量,成员变量,静态变量

public class Student {
    //s2是成员变量,它存储在堆中
    Student s2 = new Student();

    //s3是静态变量,也叫类变量,它存储在方法区
    static Student s3 = new Student();

    public static void main(String[] args) {
        //s1是局部变量,它存储在栈中
        Student s1 = new Student();
    }
}

局部变量存储在栈上(s1为局部变量):

在这里插入图片描述

成员变量存储在堆上(s2为成员变量):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ffh908Zw-1636720073367)(C:\Users\15921\AppData\Roaming\Typora\typora-user-images\image-20211112200057948.png)]

静态变量存储在方法区(s3为静态变量):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eEKDrn2h-1636720073370)(C:\Users\15921\AppData\Roaming\Typora\typora-user-images\image-20211112200304348.png)]

4.递归方法的执行过程

图中的递归函数为求n的阶乘,我们设n为5,那么就是求5的阶乘,结果为120。

蓝色箭头表示往下“递”的过程,红色箭头表示往回“归”的过程。
在这里插入图片描述

5.static方法和普通方法的区别

普通方法也叫实例方法,有this,和实例相关。

static方法也叫类方法,没有this,和实例无关。

也就是说,静态方法在创建对象前就可以通过类本身使用了,而普通方法必须通过new出来的对象调用。
静态方法通过类直接调用:

public class Student {
   public static void read(){
       System.out.println("读这句话");
   }
}
public class Test {
    public static void main(String[] args) {
        //通过类直接调用
        Student.read();
    }
}

在这里插入图片描述
普通方法必须通过先创建类的实例对象才能调用

public class Student {
    public void read(){
        System.out.println("写这句话");
    }
}
public class Test {
    public static void main(String[] args) {
        Student student = new Student();
        //创建实例后才能调用
        student.read();
    }
}
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值