java日常

for()循环体内的新设置变量会在循环完毕后被回收
例如:
for(int i=0;i<10;i++){
Inner v=c.creator(Integer.toString(i));
c.add(v);

    }   

循环完毕后Inner v会被回收

Object数组向下转型

if(c.items[i] instanceof Inner )
Inner a=(Inner) c.items[i];

静态的只能访问静态的,因为他们在对象没创建前就存在了.
如果想访问非静态的则必须初始化该对象,因为只有初始化后对象在内存才存在

内部类访问外部类的成员的方法是 Outer.this.**

静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 { new HelloWorld().score }

创建对象顺序:
静态变量——非静态变量——构造方法
继承:
父静态——子静态——父(非静态变量——构造方法)——子(非静态变量——构造方法)

父类生成子类对象时,该对象不能调用子类独有的方法

在list中存入类对象 ,类对象会变成Object类,使用时强制转换类型即可

  1. 在执行速度方面的比较:StringBuilder > StringBuffer
  2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String一样创建一些对象进行操作,所以速度就快了。
  3. StringBuilder:线程非安全的
      StringBuffer:线程安全的
    当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。

对于三者使用的总结:1.如果要操作少量的数据用 = String
       2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
       3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值