《Thinking in Java》第二章读书笔记

《Thinking in Java》第二章读书笔记

用引用操作对象

Java中,当创建一个对象的时候,jvm会给这个对象分配一个堆内存空间,然后给对象的使用者给一个引用地址
通过操作这个引用地址去操作对象
我这边对这个的理解就是jvm会给操作对象的对象一个可以控制这个对象的开关

例子:电视机,会给一个遥控器,可以同构遥控器这个开关来控制电视这个对象
虽然这个例子不是很恰当,但是我希望可以通过这个例子更好的帮助自己来理解用引用来操作对象

必须由你创建对象

   //书本中距离
class Test{
    public static void main(String[] args){
        String s = "abc";
        
    }
    
}
    
  • Java中提供了new这个关键字来告诉jvm,这个对象是由我创造的,而不是jvm自己本来的
  • Java中的基本的数据类型就是java创建好的对象(byte,short,int,long,double,boolean,float,char)

基本数据类型跟引用数据类型的区别

  • 基本数据类型放在栈空间,引用数据类型放在堆空间
  • 基本数据类型可以直接使用,引用数据类型需要通过关键字new来创建
  • 基本数据类型通过值传递,引用数据类型通过引用(引用地址传递)
希望通过一个例子来区别值跟引用的区别
 public class Test {
 
     public static void main(String[] args) {
         int i = 1;
         int j = 1;
         System.out.println("i是否等于j:"+(i==j));
         String a = new String("abc");
         String b = new String("abc");
         String c = "abc";
         System.out.println("a是否等于b:"+(a==b));
         System.out.println("a是否等于c:"+(a==c));
         System.out.println("a是否等于b:"+(a.equals(b)));
 
     }
 }
i是否等于j:true
a是否等于b:false
a是否等于c:false
a是否等于b:true
BigInteger,BigDecimal进行高精度的数据操作

Java中的数组

永远不需要销毁对象

不用程序员去编写代码进行程序的销毁,jvm会帮助我们销毁的

作用域

{
    int x = 12;
    {
        int x = 96;
    }
}

编译器会报告已经定义过

对象的作用域

{
    String s = new String("abc");
}   //end of scope

引用s在作用域终点就消失了

创建新的数据类型:类

Java定义了class这个关键字

字段和方法

字段:对象的属性 –我更加喜欢理解为对象的属性

方法:成员函数 操作本对象或者其他对象的方法

方法、参数和返回值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值