大数据之Java基础(三):常见对比

1、成员变量和局部变量的区别

(1)在类中的位置不同

        成员变量: 类中方法外

        局部变量: 方法内或者方法声明上

(2)在内存中的位置不同

        成员变量: 堆内存

        局部变量: 栈内存

(3)生命周期不同

        成员变量: 随着对象的存在而存在,随着对象的消失而消失

        局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

(4)初始化值不同

        成员变量: 有默认的初始化值

局部变量: 没有默认的初始化值,必须先定义,赋值,才能使用。

2、静态变量和成员变量的区别

(1)所属不同

        静态变量属于类,所以也称为为类变量

        成员变量属于对象,所以也称为实例变量(对象变量)

(2)内存中位置不同

        静态变量存储于方法区的静态区

        成员变量存储于堆内存

(3)内存出现时间不同

        静态变量随着类的加载而加载,随着类的消失而消失

        成员变量随着对象的创建而存在,随着对象的消失而消失

(4)调用不同

        静态变量可以通过类名调用,也可以通过对象调用

        成员变量只能通过对象名调用

3、重写与重载之间的区别

方法重载:
1、同一个类中
2、方法名相同,参数列表不同(参数顺序、个数、类型)
3、方法返回值、访问修饰符任意
4、与方法的参数名无关

方法重写:
1、有继承关系的子类中
2、方法名相同,参数列表相同(参数顺序、个数、类型),方法返回值相同
3、访问修饰符,访问范围需要大于等于父类的访问范围
4、与方法的参数名无关

4、抽象类和接口的区别

成员区别

抽象类:变量、常量、有抽象方法、抽象方法、非抽象方法

接口 :常量、抽象方法

关系区别

类与类:继承、单继承

类与接口:实现、单实现、多实现

接口与接口:继承、单继承、多继承

设计理念区别

抽象类:被继承体现的是:”is a”的关系。共性功能

接口:被实现体现的是:”like a”的关系。扩展功能


5、多态的好处和弊端

多态的好处:提高了程序的维护性(由继承保证) 、提高了程序的扩展性(由多态保证)

多态的弊端 :不能访问子类特有功能,需要向下转型才能访问子类的特有功能

6、String,StringBuffer,StringBuilder之间的区别

1、StringBuffer是线程同步安全的,数据安全,效率低。
      StringBuilder不是线程同步安全的,数据不安全,效率高。
 2、String的内容是不可改变的,StringBuffer和StringBuilder是可变序列。
 3、StringBuffer中方法上有synchronized关键字。

7、StringBuffer和数组的区别?

它们都可以被看作是一个容器,装一些数据。但是,StringBuffer里面的数据都是一个一个字符
数组可以存放不同数据类型的数据,但是同一个数组只能存放同一种数据类型的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值