马太效应 发表于 2017-7-25 23:05:05

暑期学习Day21

今天是第21天

static/image/hrline/3.gif

①重新定义toString()
1.Object的默认定义为:


public String toString(){
return getClass.getName()+"@"+Integer.toHexString(hashCode());
}
2.许多方法若传入对象,默认都会调用toString(),例如
SwordsMan swordsman=new SwordsMan();
……
System.out.println(swordsman.toString());//红色部分可省略


②重新定义equals()
1.实际上equals()方法是Object类有定义的方法,程序代码为
public boolean equlas(Object obj){
return(this==obj);
}
2.重申:instanceof运算符用来判断对象是否由某个类创建,左操作符是对象,右操作符是类。
            执行时期,并非只有左操作数对象为右操作数类直接实例化才返回true,只要左操作数类型是右操作数类型的子类型,instanceof也是返回true。

③关于垃圾回收
1.对于不再有用的对象,JVM有垃圾回收(Garbage Collection)机制,收集到的垃圾对象所占据的内存空间,会被垃圾收集器释放。
2.执行流程中,无法通过变量参考的对象,就是GC认定的垃圾对象。

④内部类<初步>
1.在类中再定义类,就是内部类(Inner Class)。
内部类可以定义在类区块中,以下程序片段建立了一个非静态的内部类。
class Some{
class Other{
}
}
(要使用Some中的Other类,必须先建立Some实例,如下——
Some s= new Some();
Some.Other o=s.new Other();)


2.内部类本身可以存取外部类成员,通常非静态内部类会声明为private,这类内部类是辅助类中某些操作而设计,外部不用知道其存在。
    (内部类也可以声明为static)


3.被声明为static的内部类,虽然将外部类当作名称空间,但算是一个独立类,它可以存取外部类static的成员,但不可以存取外部类非static的成员。


4.方法中也可以声明类,方法外无法使用。
class Some{
public void doSome(){
class Other{
}
}
}


⑤异常处理(初步)

程序在运行过程中,碰到各种异常情况后,能够自我修复(处理),而不是导致程序被终止掉(退出)。
在默认情况下,当程序运行时,碰到异常,系统会抛出对应异常,程序被中断。为了保证程序出现异常后,不会被系统中断,需要对有可能发生异常的代码,做特殊处理。
try{
      //有可能出现异常的代码
      }
   catch(){
               //对异常分类处理         
                   }


页: [1]
查看完整版本: 暑期学习Day21