为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第二季 升级版_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第二季 升级版

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 静态内部类是 static 修饰的内部类,这种内部类的特点是: 1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员 3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类()
    查看全部
  • 成员内部类的使用方法: 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 关键字。
    查看全部
  • java 封装:不允许外部程序直接访问 实现步骤: 修改属性的可见性--private; 创建getter/setter方法--用于属性的读写; 在getter/setter方法中添加属性控制语句--对属性的合法性进行判断
    查看全部
  • 与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。其实之前我们一直写的 main 方法就是静态方法。静态方法的使用如: 1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。 2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。 3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
    查看全部
  • 静态变量的访问可以不创建对象, 直接用 类名.静态变量 也可以创建对象用 “对象名.静态变量” 访问静态变量。 还可以通过改变 对象名.静态变量 来改变静态变量的值。 问:可以通过 “类名.静态变量” 访问静态变量 如:HelloWorld.className;也可以通过 “对象名.静态变量” 访问静态变量。但是,什么也不加,直接className也可以呀?是因为有什么弊端吗? 答:静态变量是可以直接引用的,不过是不安全的。在访问静态变量的时候首选是类名.静态变量的方式,这不仅是因为它强调了变量的static的结构,而且在某些情况下它还为编译器进行优化提供了更好的机会 你看完下一节内容就明白了,因为我们的main()前也有一个static关键字,这表明mian()是一个静态方法,而静态方法是可以直接访问静态变量的。 你所谓的直接className是在一个类里面才行的通,出了这个类就报错。 1.静态成员变量是属于整个类的全局变量,它不单属于某一个对象;普通成员变量是属于类中的对象,它不能被所有对象共享。 2.静态成员变量必须在全局进行定义,而由于普通成员变量在创建一个对象的时候可以对它进行初始化,因此就不需要单独对它进行定义,只要声明即可。 3.静态成员变量在没有对象之前就存在。 1·、static应用范围:可用于内部类、方法和变量。 2、标记一个方法为static,意味着这个方法,被所在类的所有实例公用,在类装载时被首先执行,执行一次即被所有该类的实例共享,同时意味着: A、static方法内部不能引用非static变量。 B、static方法不能被子类重写为非static方法。 C、父类的非static方法不能被子类重写为static方法。 D、static代码块可以用static {}来完成,在类被第一次装载时执行初始化,先于静态方法和其他方法的执行。 3、标记一个变量为static,则该变量在内存中有不变的位置,相当于全局变量,所有类的实例都访问同一个存储变量区域。对其修改对于所有类的实例来说都是可见和一致的。
    查看全部
  • 无参的构造方法,默认会自动创建。 有参的构造方法,用来给成员变量赋初始值。
    查看全部
  • 由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符
    查看全部
  • 成员变量:若按有无static修饰,有可以分为类变量(静态变量)和实例变量(非静态变量),类变量会随着类的初始化而得到初始化,而实例变量必须要等到创建对象时,才会初始化。 局部变量。
    查看全部
  • 接口中方法不能有方法体,同时方法的访问修饰符不能是 private 和 protected 因此选 C
    查看全部
    0 采集 收起 来源:练习题

    2015-04-12

  • 多继承【修饰符】 (abstract)interface 接口名【extends 父接口1,父接口2...】{ 零个到多个常量定义 零个到多个抽象方法的定义
    查看全部
    0 采集 收起 来源:Java 中的接口

    2015-04-12

  • Java中的成员内部类: 内部类中最常见的就是成员内部类,也称为普通内部类。 成员内部类的使用方法: Inner类定义在Outer类的内部,相当于Outer类的一个成员变量的位置,Inner类可以使用任意访问控制符,如 public、protected、private等 Inner类中定义的方法可以直接访问Outer类中的数据,而不受访问控制符的影响,如 直接访问Outer类中的私有属性 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去new一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类(); 编译定义了成员内部类的程序后,会产生两个.class文件。其中,外部类的.class文件名依然与外部类类名一致(如 Outer.class),而成员内部类的.class文件名为:外部类名$内部类名.class(如 Outer$Inner.class) 外部类不能直接使用内部类的成员和方法,可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法 外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法(就近原则),要访问外部类的成员变量,可以使用this关键字。(外部类名.this.外部成员变量,如:Outer.this.b)
    查看全部
  • 构造方法: 类名 对象名 = new 构造方法(); 1 使用new+构造方法 创建一个新的对象 2 构造方法是定义在Java类中的一个用来初始化对象的方法 3 构造方法与类同名且没有返回值 4 构造方法分为:有参和无参 5 没有指定构造方法时,系统会自动添加无参的构造方法 6 当有指定构造方法时,无论是有参、无参的构造方法,都不会自动添加无参的构造方法 7 构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法 8 构造方法可以保证给对象属性赋合理的值。
    查看全部
  • 这个父类的引用对象animal是指向dog的,这个时候用强制类型转换为Cat显然是没有用的尽管不会报错,所以强制类型转换是有风险的! 怎么避免这个问题呢,它可以判断一个引用是否是某个类型或者是某个类型的子类,一般配合if语句来使用 if(animal instanceof Cat){ Cat cat = (Cat)animal; } else{ System.out.println("不能强制转换!");}
    查看全部
  • 构造方法名与类名相同
    查看全部
  • 成员变量:在类中定义,用来描述对象将要有什么。 局部变量:在类的方法中定义,在方法中临时保存数据。 成员变量可以被本类的所有方法使用,其他相关类的方法也可以。而局部变量只有本方法内使用。 成员变量和局部变量的区别: 1、作用域不同:局部变量的作用域仅限于它的方法,成员变量的作用域在整个类内部都是可见的。 2、初始值不同:Java给成员变量一个初始值,二不给局部变量赋予初始值。 3、在同一个方法中不允许有同名局部变量;不同方法中可以有同名局部变量。 4、两类变量同名时,局部变量具有更高的优先级。
    查看全部

举报

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

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