Java 数据类型

分享一下当初的Java学习笔记,首先通过下图来了解一下Java的数据类型:


关于Java的数据类型长度,如下表所示:

数据类型

boolean

char

byte

short

int

long

float

double

字节

2

1

2

4

8

4

8

注意:其中char为2个字节,采用Unicode编码;long为8个字节。


1、每个字符串对象都表示一个匿名对象,字符串的内容一旦声明是不可改变的,改变的只是其内存地址的指向。

2、使用this调用构造函数方法必须放在构造函数的第一行。(因为:构造方法是在实例化对象时被自动调用的,在类的所有方法中,只有构造方法是最先被调用的)

类类型的值是对某个类实例的引用;数组类型的值是对数组对象的引用;接口类型的值是对实现了该接口的某个类实例的引用。

基本类型体现在程序中是普通变量,基本类型的包装类是类,体现在程序中是引用变量。基本类型存储在栈中,而基本类型包装类存储在堆中。


关于super和this关键字在构造器中的使用差异

super调用,用于显式调用父类构造器;

this调用,用于显式调用本类中另一个重载的构造器。

super调用和this调用都只能在构造器中使用,而且都必须作为构造器的第一行代码。(构造器中的super调用和this调用最多只能使用其中之一,而且最多只能调用一次)

 

创建任何Java对象时,系统总是会先依次调用父类的非静态初始化块、构造器执行初始化,然后才调用本类的非静态初始化块、构造器执行初始化。

 

(1)子类构造器中的第一行代码使用super显式调用父类的构造器,系统将根据super调用传入的实参列表来确定调用父类的哪一个构造器;

(2)子类构造器中的第一行代码使用this显式调用本类中另一个重载的构造器,系统将根据this调用传入的实参列表来确定调用子类的另一个构造器;

(3)子类构造器中既没有super调用,也没有this调用,系统将会在执行子类构造器之前,隐式调用父类的无参数的构造器。


继承成员变量与继承方法的差别:

如果子类中定义了与父类中完全同名的实例变量,则在子类中定义的变量会隐藏父类中定义的变量(不会覆盖父类中定义的实例变量,在创建子类对象时,依然会为父类中定义的、被隐藏的变量分配内存空间)。

如果子类覆写了父类中的方法,这个方法会覆盖父类中定义的方法。


子类对象中保存了其所有父类定义的全部实例变量。

将一个子类对象赋给一个父类对象时,会执行向上转型。

类变量在类初始化阶段完成初始化,实例变量则在对象初始化阶段完成初始化。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值