为了账号安全,请及时绑定邮箱和手机立即绑定
  • 静态内部类(static修饰):

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

    2)如果外部类的静态成员与内部类的成员名称相同,可通过 类名.成员名 访问外部类的静态成员;如果名称不同,测可通过 成员名 直接调用。

    3)创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名 = new 内部类()

    查看全部
  • 内部类可以直接访问外部类中的数据而不受访问控制符的影响,反之则不成立。

    外部类只能通过内部类的对象来访问其成员变量和方法。

    定义了成员(普通)内部类后,必须使用外部类对象来创建内部类对象【内部类 对象名 = 外部类对象名.new 内部类()】

    成员内部类的.class文件:外部类名$内部类名.class

    假如外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,而要访问外部类的成员变量或方法则需使用this关键字。(eg.外部类.this.属性)

    查看全部
  • 内部类:

    1)成员内部类;2)静态内部类;3)方法内部类;4)匿名内部类。

    查看全部
  • 成员变量和局部变量重名,成员变量优先,会取成员变量的值
    查看全部
  • 成员变量会自动赋予初始值,局部变量不会赋予初始值
    查看全部
  • 创建对象:类名 对象名=new 类名()
    查看全部
  • ,成员内部类的使用方法:

    1、 Inner 类定义在 Outer 类的内部,相当于 Outer 类的一个成员变量的位置,Inner 类可以使用任意访问控制符,如 public 、 protected 、 private 等

    2、 Inner 类中定义的 test() 方法可以直接访问 Outer 类中的数据,而不受访问控制符的影响,如直接访问 Outer 类中的私有属性a

    3、 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );


    如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。


    查看全部
  • 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。

    查看全部
  • Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。当然,鉴于他作用的特殊性更推荐用类名访问~~

    查看全部
  • public class HelloWorld {

        

        // 定义静态变量score1

        static int score1 = 86;

        // 定义静态变量score2

    static int score2 = 92; 


        // 定义静态方法sum,计算成绩总分,并返回总分

    public static int sum() { 

          return score1+score2;

    }


    public static void main(String[] args) {

            

            // 调用静态方法sum并接收返回值

    int allScore = HelloWorld.sum();

            

    System.out.println("总分:" + allScore);

    }

    }


    查看全部
  • 创建子类对象时,同时也会创建父类对象,super代表父类。super和无参构造一样,是被隐藏了的。


    查看全部
  • 程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。

    查看全部
  • 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量

    在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,如下所示:

    静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。如:

    查看全部
  • 从上面的代码中我们可以看到,成员内部类的使用方法:

    1、 Inner 类定义在 Outer 类的内部,相当于 Outer 类的一个成员变量的位置,Inner 类可以使用任意访问控制符,如 public 、 protected 、 private 等

    2、 Inner 类中定义的 test() 方法可以直接访问 Outer 类中的数据,而不受访问控制符的影响,如直接访问 Outer 类中的私有属性a

    3、 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );

    4、 编译上面的程序后,会发现产生了两个 .class 文件

    其中,第二个是外部类的 .class 文件,第一个是内部类的 .class 文件,即成员内部类的 .class 文件总是这样:外部类名$内部类名.class

    另外,友情提示哦:

    1、 外部类是不能直接使用内部类的成员和方法滴

    可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。

    2、 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。


    查看全部
  • 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:

    查看全部

举报

0/150
提交
取消
课程须知
本课程是Java开发的基础,需要大家:掌握 Java 基本语法的使用。如果您是新手,建议先移步 《Java入门第一季》https://www.imooc.com/learn/85
老师告诉你能学到什么?
• 掌握 Java 编程思路 • 熟练运用面向对象程序设计思想

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!