随笔-127  评论-129  文章-25  trackbacks-0

1: 普通的内部类 , 能够访问实例变量 , 方法中的内部内可以访问方法中的局部变量 , 但是该局部变量必须是 FINAL

非静态内部类不能有静态的方法和变量 , 内部类可以有控制符 , 任何符号都可以 !

静态的方法只能被隐藏而不能被 OVERRIDE, 父类是 STATIC 方法 , 子类必须是 STATIC, 但是不是 OVERRIDE, HIBBERN.

2: 静态内部类的问题 :

   静态内部类的方法只能直接访问外部类的静态成员 , 要访问非静态的成员 , 必须声明该类的实例 .

  在静态方法中访问非静态内部类的问题 , 必须先声明外部类 ,

Outer myouter=new Outer();      // 先创建外部类的对象

            Outer.Inner myinner=myouter.new Inner();

非静态方法访问非静态内部类   可以采用上面的方法也可以直接

参与   new Inner().showName();

3: 构造方法是没有返回直的 , 一旦有了返回直就不时构造方法 , 父类的构造方法没有被 OVERRIDE., 构造方法不能加 STATIC 关键字 , 想想为什么 , 因为这样就限制了他被 OVERRIDE.

4: 对于基本数据类型的的数据无论是在类中还是在方法中都是 , 系统都会为他赋上相应的缺醒值 !

5: 一个多态的例子

public class Test8 {

     public static void main(String [] args){

         Base b = new Subclass();

         System.out.println(b.x);

         System.out.println(b.method());

     }

}

class Base{

     int x = 2;

     int method(){

         return x;

     }

}

class Subclass extends Base{

     int x = 3;

     int method(){

         return x;

     }

}

结果是

2

3

子类的方法 , 父类的变量

6: 静态变量不能定义在方法中 , 这是肯定 , 但是可以在方法中给静态变量赋值

7:GC

v       在清除垃圾之前,系统会调用 finalize 方法,这是顶级类 Object 中的 finalize 方法。

v       System 类中的 runFinalization 方法能够强制调用 finalize 方法,

v       gc 方法强制调用垃圾回收功能

8:OVERRIDE 之后子类控制符更广 , 但是不能抛出更多的异常

  父子之间可以 CASE 但是兄弟之间不能

9. 被声明为 FINAL 的对象 , 是不可以改变的 , 但是其内容是可以改变的

posted on 2006-04-03 12:39 loocky 阅读(92) 评论(0)  编辑  收藏 所属分类: java



标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
 
相关链接:
网站导航: