静态成员包括声明为static的变量、常量和方法。
在静态方法和普通方法中,都可以直接调用静态成员(即:类名.静态成员名)
但在静态方法中,不可以直接调用非静态成员,可通过创建对象来访问调用。
在静态方法和普通方法中,都可以直接调用静态成员(即:类名.静态成员名)
但在静态方法中,不可以直接调用非静态成员,可通过创建对象来访问调用。
2015-08-18
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
2015-08-18
最赞回答 / ternenceZz
这个就是视频里讲的啊。16行在编译的时候animal是作为Cat类型,但当程序运行的时候,这个animal引用实际上是指向的Dog对象,是不能转换成Cat对象的
2015-08-17
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
2015-08-17
1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
2015-08-17