本帖最后由 周兴中 于 2012-6-28 03:14 编辑
1. new BaseStudent().study();// new 了一个BaseStudent()对象,在方法调用完后立即将其销毁.
new BaseStudent().sleep();//又new 了一个BaseStudent(),匿名对象在调用方法后,new的对象立即销毁,所以当对方法仅进行一次调用的时候,可以使用匿名对象.
2.static Inter function() //看返回值类型
{
return new Inter()//此处没有分号,要连着后面的大括号一起看,它实现了Inter的method方法,他返回的是一个Inter的匿名内部类的实例.
{
public void method()
{
System.out.println("method run");
}
};
}
return后的语句: new Inter(){
public void method()
{
System.out.println("method run");
}
}; //这就是匿名内部类
3. for(f.show('A'); f.show('B')&&(i<2);f.show('C')) //
{
i++;
d.show('D');
}
boolean show(char a)
{
System.out.println(a);
return false;//这个示例是为了演示继承的关系,当子类覆盖父类的方法后,通过父类的引用也将执行子类的方法.
}
4.不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例
A a=get();//由于B实现了A,并且B的方法get()返回的是的B的实例 等同于与 A a = new B(); //引用变量a被定义为A接口类型,引用了B实例,成立
5. 重载只关心参数列表,不关心权限.
重写则不能降低原方法的"可见度"。例如:被重写方法为protected void do(int i,double d),则重写方法可以为protected void do(int i,double d),或者public void do(int i,double d),但是不可以是private void do(int i,double d)。
|