java基础1

JAVA基础

什么是多态?

子类继承抽象父类,重写父类的方法。

什么是静态变量?

静态变量被static修饰,被所有类实例对象所共享,在内存中仅有一份副本,当且仅当类初次加载时才会初始化

try、catch、finally的执行流程是怎样的?

对于可能出错的代码快放在try包裹的括号之中,当try包裹的括号中发生异常时,且恰好是catch捕获的异常时,则会执行catch中相关的语句,而无论try中是否发生异常,finally语句块最终都会执行,即便在try或catch中有return语句,也会在return之前执行finally中的语句

异常与普通的类和对象有什么差别吗?

异常除了本身可以被抛出以外,与普通对象没有什么差别,可以被继承,多态的

==和equals的区别是什么?

==比较的是栈中的值,对于基本类型来说栈中存储的是变量值,而对于引用类型来说,栈中存储的是引用类型堆中内存对象的地址。

equals是object类中的一个方法,若不对object方法进行重写,那么equals的效果与==是等价的,我们知道object是java所有对象的父类,那么通常其他的类会对object类中的equals方法进行重写,如String类,重写后其比较有String的对象的地址比较转化成为了String值的比较

在这里插入图片描述

抽象类是什么?为什么要弄抽象类

对于一些类不应该被初始化,为什么?因为这些类通常是对某些具有相似功能类的抽象,没有办法被具体化

设置抽象类唯一的目的是被其他类所继承,继承的类可以对抽象类的方法进行重写或重载

重载和重写的区别是什么?

重载:发生在同一个类中,是方法名相同,但方法体中的参数的个数、顺序、类型不同,方法体的访问修饰符和返回值可以相同也可以不同。

注意:若其他条件相同,仅返回值不同则不构成重载
在这里插入图片描述

重写:发生在子父类之间,方法名,参数列表必须相同,子类的访问修饰符应该大于等于父类;方法返回值,抛出异常范围应该小于等于父类,若父类的方法被private访问修饰符修饰,则不能对该方法进行重写

接口和抽象类的区别是什么?

(1)一个类可以实现多个接口,而只能单继承一个抽象类

(2)抽象类中可以有普通成员函数,而接口中的方法都是抽象方法

(3)抽象类中的成员变量类型可以任意,而接口中的成员变量类型只能为public static final 类型的

构造函数是什么?

(1)构造函数可以要求传入参数,这样可以对参数进行检查和封装,方便使用

(2)构造函数可以有多个,当写了有参构造函数时,一般会再写一个无参构造函数。

(3)当类中没有写构造函数时,系统默认设置为无参构造函数

(4)若父类中为有参构造函数时,在使用子类的构造函数时,子类必须显式调用父类构造函数,若父类为无参构造时,可以不显示调用,系统默认调用父类的无参构造函数

成员变量和局部变量是什么?

成员变量,定义在类中,局部变量定义在方法中。

位运算符:左移右移,移动的是数而不是小数点,

左移<< 左移,相当于二进制数后添0,相当于扩大2倍

右移>> 右移,相当于缩小2倍,符号位填充高位

无符号右移>>>,0填充高位

在这里插入图片描述

  1. F 2. T 3. F 4. F 5. T 6. F
    在这里插入图片描述

new 创建的在堆中,常量是在常量池中,intern()指向常量池的地址,s1,s2,s3这些引用变量存放在栈中
在这里插入图片描述

String 、StringBuilder和StringBuffer

String 被关键字final修饰,不可变,因此每次字符串的操作,都会创建新对象

StringBuilder:高效,但线程不安全

StringBuffer:线程安全,其中的每个方法都被Synchronized修饰

性能:StringBuilder>StringBuffer>String,通常优先使用StringBuilder,在需要多线程,共享字符串时使用StringBuffer

public、protected、private、default(friendly)的区别:

public:所有类都能使用

protected:自身、子类、同一个包下都能访问

private:自身

default:同一个包下

局部变量和成员变量名字相同时,怎么使用成员变量?

使用关键词this.名字

如果某个内容是被所有对象所共享的,应使用什么关键字?

static

类变量和成员变量的区别?

类变量是类中被static修饰的变量

super关键字的作用是什么?

(1)使用父类构造函数

(2)调用父类的成员

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值