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

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 1、成员内部类定义在类内部、方法外部,相当于类的一个成员,因此内部类可以直接调用外部类的任意成员

    2、类加载时,内部类不是静态,因此未开辟空间,即不存在这个内部类,内部类就不能含有静态变量

    3、内部类变量与外部类变量同名时,内部类中调用内部类的变量可直接调用this.变量,调用外部变量时可外部类名.this.变量

    4、外部类调用内部类时,由于类加载时,内部类不存在,因此需要实例化外部类开辟外部类的堆空间,同时也开辟了内部类的栈空间,再实例化内部类开辟内部类的堆空间;内部类名.a = new 外部类名().new 内部类名(),然后用a调用内部类的属性或方法


    查看全部
  • 1、内部类大致有成员内部类静态内部类局部内部类匿名类

    2、按照类加载和创建对象时类成员或方法是否在内存被开辟空间来判断内部类与外部类之间的调用关系


    查看全部
  • 重点,接口中的方法不能有方法体

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

    2018-10-22

  • 接口就是用来被继承,被实现的,修饰符一般都用PUBLIC,且接口默认是abstract,(系统自动加上)  接口是多继承的。

    接口里面的内容全部都是常量或者抽象方法,用来规范类必须实现某些方法。 (常量省略了final,方法省略了abstract。 其实系统默认加上的)


    一个类可以实现一个或多个接口,用implements关键字。

    一个类只能继承一个父类

    使用的时候, 用一个接口的引用指向一个实现了接口的对象。如:

    IPlayGame ip1 = new SmartPhone();

    或者使用匿名内部类的方式,直接创建接口对象使用

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

    2018-10-22

    • 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。

    • 2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

    • 3. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。

    • 4. 构造方法,类方法(用static修饰的方法)不能声明为抽象方法。

    • 5. 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。


    查看全部
  • 抽象方法不能实现(只声明,不实现,用来约束子类应有哪些方法的。  抽象方法相当于介于抽象类与接口之间)

    抽象类不能直接创建,通常定义引用变量来调用子类对象。(不懂)

    查看全部
  • 非静态内部类中不能使用static修饰符。

    因为静态变量是要占用内存的,在编译时只要是定义为静态变量了,系统就会自动分配内存给他,而内部类是在宿主类编译完编译的,也就是说,必须有宿主类存在后才能有内部类,这也就和编译时就为静态变量分配内存产生了冲突,因为系统执行:运行宿主类->静态变量内存分配->内部类,而此时内部类的静态变量先于内部类生成,这显然是不可能的,所以不能定义静态变量!

    查看全部
  • 抽象类 不关注子类的实现,但是约束于子类有哪些特征。

    (多个有相同特征的类)

     抽象类不能实例化对象,因此抽象类必须被继承,才能使用。  且抽象类不能直接创建,通常使用父类(即抽象类)引用对象来指向子类调用。

    查看全部
  • 局部变量只能在方法的内部使用!

    查看全部
  • 加载类(静态初始化块)-> 初始化对象(初始化块)-> 构造方法

    查看全部
  • super的使用

    可以代表父类对象,通过super.age和super.eat()调用父类的属性和方法。

    在子类中创建方法,在该方法中访问super.父类属性,则在主函数中调用子类的方法可以使用父类的属性。

    创建子类的构造方法时,自动调用了父类的构造方法。隐式super,写super();一定要在子类构造方法中的第一行,默认调的是父类中的无参构造方法。

    若子类有构造方法且没有显式调用父类的构造方法,父类没有无参构造方法,则编译出错


    查看全部
  • final关键字

        使用final关键字做标识有“最终的”含义

    final可以修饰类、方法、属性和变量

          final修饰类,则该类不允许被继承

          final修饰方法,则该类不允许被覆盖(重写)

          final修饰属性

                   类的初始化属性必须有值,或者在构造方法中赋值(只能选其一)

          final修饰变量,则该变量的值只能赋一次值,即变为常量。


    查看全部
  • 方法的重写:子类与父类的返回值类型,方法名,参数类型及个数都相同才叫方法的重写。

    构造方法不能被重写。

    final声明的方法不能被重写,static声明的方法不能被重写,但是可以被再次声明。

    重写后程序将优先调用子类的重写的方法。

    重载是在一个类中,不同方法之间方法名相同,参数不同(参数个数或类型不同),返回类型可以相同也可以不同。


    查看全部
  • 初始化顺序  先父类  再子类   先属性  在构造方法

    查看全部
  • Object类:所有类的父类,没有具体写extends就默认为是它的子类

    1. toString()方法        返回的对象的哈希code码(对象地址字符串)

      在source中找到tostring然后自动生成

    查看全部

举报

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

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