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

Java入门第二季 升级版

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 抽象方法没有 方法体 ,直接以分号结束!

    查看全部
  • 局部变量优先级更高

    查看全部
  • 成员内部类的使用方法

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

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

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

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

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


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

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

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

    内部类可分为以下几种:

    • 成员内部类

    • 静态内部类

    • 方法内部类

    • 匿名内部类


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

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

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

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

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

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

    查看全部
  • 静态变量可以直接使用类名来访问,无需创建类的对象

    可以使用对象名来访问或修改静态变量

    当然,鉴于他作用的特殊性更推荐用类名访问

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

    查看全部
  • 两类变量同名时,局部变量具有更高的优先级


    查看全部
  • 定义一个类时,类名首字母大写,如ClassName等

    查看全部
  • 内部类中最常见的就是成员内部类,也称为普通内部类。我们来看如下代码:

    运行结果为:

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

    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 关键字。如:

    运行结果:


    查看全部
  • 接口的名字通常在开头加上I字母,接口的使用类似抽象类的使用。匿名内部类实现接口,直接new一个接口。

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

    2019-04-16

  • 引用类型转换:

    1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换。

    如:Dog dog=new Dog();Animal animal=dog;//正确,自动类型提升,向上类型转换

    2.向下类型转换(强制类型转换),是大类型到小类型的转换(存在风险,溢出)

    如:Dog dog1=(Dog)animal;//向下类型转换

    3.instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题。如:

    Dog dog=new Dog();

    Animal animal=dog;

    Cat cat=(Cat)animal;//编译时不会出错(按Cat类型进行编译),但运行时会报错,因为它开辟的是Dog类型的空间,而(无法将引用类型进行转换)无法将dog对象转换成Cat类型,并且此方法对程序的安全性有影响。此时应该利用instanceof和if语句结合使用,进行验证,以保证程序的安全性,如:

    if(animal instanceof Cat){//判断animal类中是否包含Cat类型的元素,若包含则进行转换,instanceof返回值为布尔类型

    Cat cat=(Cat)animal;}else{

    System.out.println("无法进行类型转换");}


    查看全部
  • import,使用类
    查看全部
  • 创建一个t对象,对Test类实例化

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

    2019-04-15

  • static

    变量

    方法

    查看全部

举报

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

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