第十天的知识(Object类,静态,代码块)

  1. 静态
    1. 关键字修饰:static
    2. 可以修饰属性、类、方法、内部类、代码块
    3. 静态属性与非静态方法(实例变量)
      实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一
      个对象中的
      非静态属性时,不会导致其他对象中同样的属性值的修改。
      静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变
      量时,会导致其他对象调用此静态变量时,是修改过了的。
    4. static修饰属性的其他说明:
      ① 静态变量随着类的加载而加载。可以通过"类.静态变量"的方式进行调用
      ② 静态变量的加载要早于对象的创建。
      ③ 由于类只会加载一次,则静态变量在内存中也只会存在一份:存在方法区的静态域中。
      ④ 类变量 实例变量
    5. 如:System.out、Math.PI、Math.random()
    6. 静态方法里面不能有super、this关键字
    7. 工具类中的方法,习惯上声明为static的。 比如:Math、Arrays、Collections
  2. 代码块
    1. 代码块的作用:用来初始化类、对象
    2. 代码块如果有修饰的话,只能使用static.
    3. 静态代码块:
      1. 内部可以有输出语句
      2. 随着类的加载执行,只执行一次
      3. 用于初始化类的信息
      4. 有多个,就按照声明的顺序执行
      5. 静态执行大于非静态
      6. 静态代码快只能调用静态属性、静态方法不能调用非静态的属性、方法
    4. 非静态代码块
      1. 随着对象的创建而执行
      2. 没创建一个对象,就执行一遍
      3. 作用:在创建对象时,对属性等进行初始化
      4. 多个,按照声明顺序依次执行
      5. 非静态可以调用非静态方法、属性,也可以调用静态方法、属性
  3. Object类
    1. 所有类的父类、顶级类
    2. == 与 equal区别
      1. ==在用于基本数据类型,是值得对比,在引用数据类型,是地址的比对
      2. equal在是比较的是内容,可以在类中重写equal方法,equal()返回的是boolean值
    3. clone()方法:
      1. Person p = new Person(23, “zhang”); Person p1 = (Person) p.clone();
      2. 可以在类中重写clone()方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值