第二章:一切都是对象

  Java是一门纯的面向对象的编程语言,在java中一切‘东西’都是基于对象。

1、对象的存在

  尽管在Java中一切都是基于对象,但是操纵的是对象的引用。对象和对象的引用是一对非常重要的概念。而且,就算对象不存在,对象的引用也可以存在。
  例如:String s;
  在这里,s只是一个String类型的对象的引用,真正的对象并未创建,但是这并不妨碍s(引用)的存在。但是如果操纵s,编译器就会发声错误,因为s只是一个引用,并没有真实的对象与之关联。

对象的存储:

  • 堆栈:堆栈存储了java对象的引用,实际的java对象并不存在于其中。通过堆栈指针的移动可以从处理器获得内存。
  • 堆:所有的java对象都存储在堆中。
  • 常量存储:所有的常量都存储在程序代码内部。

八大基本类型:
- boolean
- char
- byte
- short
- int
- long
- float
- double
  为了提高效率,八大基本类型是存储在堆栈中的,也就是说,不需要new来创建。而这就需要保证这八大基本类型的大小是固定的。而且八大基本类型都有对应的默认值。但是只有当他们是成员变量时才会被初始化,当他们是局部变量时是不会被初始化的。
例如:

public Class Demo{
    int x;
    public void fn1(){
        int y;
    }
}

在上面的例子中,x的值是0,而y则是null,如果使用y则会报错,而使用x则不会报错。
   基本类型都具有对应的包装类,可以在堆中创建一个非基本对象,用来表示基本类型。

2.static修饰

java中static修饰的变量独立于对象以外,即static修饰的变量在对象还未创建时就已经存在,而且多个类的对象对应的同一个static修饰的变量都是同一个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值