为了账号安全,请及时绑定邮箱和手机立即绑定
  • 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。

    需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。

    我们来看一段代码:

    运行结果:

    通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。

    查看全部
  • 与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。其实之前我们一直写的 main 方法就是静态方法。静态方法的使用如:

    运行结果:

    需要注意:

    1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:

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

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

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


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

    使用 static 可以修饰变量、方法和代码块。

    本小节,我们先认识一下静态变量。

    例如,我们在类中定义了一个 静态变量 hobby ,操作代码如下所示:

    运行结果:

    要注意哦:静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收


    查看全部
  • 构造放法是用于初始化对象的方法

    构造方法与类名相同且没有返回值

    没有指定构造方法时系统会自动添加一个无参的构造方法

    有指定的构造方法是,无论是有参还是无参,都不会再自动添加无参的构造方法

    构造方法的重载与一般方法一样

    构造方法可以实现给属性赋一个合理的值(用if语句在有参方法中实现)

    查看全部
  • 成员变量:在类中定义,用于描述对象要有什么

    局部变量:在类的方法中定义,在方法中临时保存

    成员变量可以被本类中的所有方法使用,局部变量只能被本方法使用

    成员变量会被赋予初始值,局部变量不能被赋予初始值

    不同方法中可以有同名的局部变量

    二者重名时,优先使用局部变量的值

    查看全部
  • 静态内部类是 static 修饰的内部类,特点是:

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

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

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


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

    2、 内部类中定义的方法可以直接访问外部类中的数据,而不受访问控制符的影响,如直接访问外部类中的私有属性

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

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

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


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

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

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


    查看全部
  • 内部类的主要作用如下:

    1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

    2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

    3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便

    内部类可分为以下几种:

    • 成员内部类

    • 静态内部类

    • 方法内部类

    • 匿名内部类


    查看全部
  • this关键字:

        1.this关键字代表当前对象

                   this.属性     操作当前属性的方法

                    this.方法    调用当前对象的方法

      2.封装对象的属性时,常使用this关键字

    *访问private属性,要使用setter/getter方法

    *source——generate setter and getter生成方法


    查看全部
  • 可访问等级:pulic>protected>默认>private

    查看全部
  • 类:类是对象的 类型,具有相同的属性和方法的一组对象的集合

    对象的属性:对象具有的各种特征,每个对象的每个属性都有其特定值

    对象的方法:对象执行的操作

    二者关系:类是抽象的模板,对象是具体的实体

    查看全部
  • 接口制定了规定,但不管继承者如何实现

    查看全部
    0 采集 收起 来源:练习题

    2020-02-06

  • 使用接口:

    接口在使用时,经常会与匿名内部类配合使用;

    匿名内部类:没有名字的内部类

    语法格式:

    interface i=new interface(){

    public void 方法名(){

            输出语句

        }

    };!!!

    查看全部
    0 采集 收起 来源:Java 中的接口

    2020-02-05

  • 1、接口和类定义不同,定义接口不需要使用class关键字,而是使用interface关键字。

    2、使用接口时,只能使用publIC修饰符,不能使用private以及protect,因为接口通常是用来被继承和被实现的!

    3、定义接口以及接口的抽象方法时需要有abstract,而如果不加的话,系统会自动帮我们生成abstract。

    4、接口可以继承多个副接口,当然可以继承也可以不继承。

    5、接口中定义的变量都是常量,所以用public static final修饰;

    6、使用接口可以使用implements实现

    7、如果要继承父类,则继承父类必须在实现接口之前!!即:

    class  类名 extends 父类 implements 【接口1,接口2,......】

    查看全部
    0 采集 收起 来源:Java 中的接口

    2020-02-05

  • 定义包:package  包名

            注:必须放在java源程序的第一行

                    包间名可以使用 . 号隔开

                    eg:com.imooc.Myclass

                    **(通过包名区分相同的类名)


    系统中的包:

            java.(功能).(类)

            java.lang.(类)  包含java语言基础的类

            java.util.(类)    包含java语言中各种工具

            java.io.(类)       包含输入、输出相关功能的类



    ****   *包的命名规范是全小写字母拼写

            *子目录.*   (加载该目录下的所有文              件)

    查看全部

举报

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

微信扫码,参与3人拼团

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

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