秋招-工作-Java基础

Java校招。

以此记录学习的知识点,每日看,坚持更新。

1. JDK 和 JRE 有什么区别?
JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你需要编写 java 程序,需要安装 JDK。

2.Java中堆和栈的区别

栈:栈内存是一片内存区域,存储的是局部变量。
方法先进栈,然后再定义变量,变量有自己的作用域。一旦离开作用域,变量就会被释放,栈内存的更新速度很快,因为局部变量的生命周期都很短。
堆: 堆存储的都是对象,数组也是对象,凡是new建立的都在堆中,堆中存放的都是实体,实体用于封装数据。

3.什么是java虚拟机?

JVM是一个可以执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机执行的字节码文件。
java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或是重新编译。java虚拟机让这个变为可能,因为它知道底层硬件平台指令长度和其他特性。

4.Static关键字是什么意思,java是否可以覆盖一个private或是static方法
static关键字表明,一个成员变量或是成员方法可以在没有所属的类的实例变量的情况下被访问。
static:

  1. 修饰成员方法和成员变量
  2. 静态代码块
  3. 修饰类
  4. 静态导包
class Main{
private static String name="张三";
private String address = "中国";

public void test1(){
	System.out.println(name);
	System.out.println(address);
	test2();
}
public static void test2(){
	System.out.println(name);
	System.out.println(address); // 会报错,
	test1();					 //会报错
}
}

成员变量 static 修饰 name
成员变量 address

test2 方法 是独立于对象存在的,可以直接通过类名调用。
如果想调用address。
Person p = new Person()
p.address;

static变量,是静态变量,被所有的对象共享,在内存中只有一个副本,当且仅当类初次加载时会被初始化。

2.静态代码块:
类被加载时,按照static顺序加载。只会执行一次。

static不能被覆盖。方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的,static方法跟类的任何实例都不相关。
private也不可以覆盖,private修饰的变量和方法只能在当前类中使用。

5.Java中的方法覆盖(Overriding)和方法重载(Overload)是什么意思?
Overriding 是子类覆盖了父类的方法。重写。 必须有相同的方法名,参数列表,以及返回类型。
Overload 是重载,多个方法名相同,参数个数或参数类型不同即可。

6.Java中,什么是构造方法?什么是构造方法重载?什么是复制构造方法?
当新对象被创建时,构造方法会被调用,每一个类都有构造方法。程序员没有给类提供构造方法的情况下,java编译器会给这个类创建一个默认的构造方法。
每一个构造方法都必须要有自己唯一的参数列表。

7. Java支持多继承吗
类不支持。接口支持

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值