第12天 static final,String

static

由static 修饰的成员变量即为静态变量

成员变量分两种:1、实例变量,没有static修饰,属于对象,存储在堆中、有几个对象就有几份,通过引用、对象打点访问
2、静态变量、有static修饰,属于类,存储在方法区中,只有一份(因为只有一个类),通过类名来访问

输出静态变量常用 类名.变量名 ,而不用对象.变量名

何时用?不再更改,和对象共享的数据

静态变量一般不在构造方法中赋值,一般在静态块中赋值。
实例变量(没有static修饰的成员变量)在构造方法中赋值。

static final

常量= 静态常量
public static final int PI =3.1415926;
声明同时就要赋值
便于维护,不用写具体数值。数值一旦设置就不变

通过类名.常量来访问。常量名所有字母都大写,多个单词用小下划线分割

new对象

new对象时调用构造方法,只要new,堆中就会分配对象

Cloneable 拷贝出一个新的相同类型的对象,并且属性值和原来对象相同

继承Cloneable接口后需要实现方法CloneNotSupportedException 需要被克隆的类实现,如果有异常则抛出异常。
Clonable接口是一个标记接口,不需要实现任何方法,里面也没有要实现的方法

获取对象的真正类型:.getClass()
获取对象的哈希码,人们认为同一个类的不同对象的哈希码是唯一的:.hashCode()

== 号对于引用数据类型来说,是比较地址是否相同

不能为null.equals(可以为null)

public String toString (){} 的作用是输出对象的局部变量的值

String

字符串是常量,值不可以改变。
字符串被final修饰,是一个最终类,不能被继承
字符串底层是字节数组

字符串是在方法区中的固定值,由栈或者堆中的变量或类指向

String str = “a”+“b”;在编译期间就已经变成"ab",没有真正拼接字符串
String str1 = “a”; str1 = str1+“b”; str1在编译时是变量,拼接了字符串

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值