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

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。
    查看全部
  • 内部类 对象名 = 外部类对象.new 内部类( );
    查看全部
  • 静态初始化块最先执行且只执行一次,然后普通初始化块,然后构造方法 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。<br> 需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。<br> 创建对象的时候就会加载类,就会出现任务结果的前三行。 <br> 程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。 可以get到的信息是: 1.静态块在第一个对象创建时运行 2.初始化块在每个对象创建时运行 3.区别是静态块只执行一次,操作的内存在静态区 4.初始化块每个对象构造时都需要执行一次,操作的内存在用户区
    查看全部
  • 1. 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员.如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量 2.在普通成员方法中,则可以直接访问同类的非静态变量和静态变量 3. 静态方法中可以直接调用静态方法,但不能直接调用非静态方法,需要通过对象来访问非静态方法 4.注意main函数是一个静态函数 PS:静态方法是属于类的,内存必须为它分配内存空间,这个空间一直由静态方法占用,内存管理器不会由于静态方法没有被调用而将静态方法的存储空间收回,这样如果将所有的方法都声明为静态方法,就会占用大量的内存空间,最后是系统变慢。而普通的成员方法是由对象调用的,内存并不会一直为起分配内存,只有调用的时候才为其分配存储空间,而当其没有被调用时,存储空间就会被内存管理其收回,释放没有用的空间,提高的系统的运行速率!
    查看全部
  • 1,static 出现的原因: 类对象拥有的资源是属于自己的是独立的、是不能被共享的。因为在程序中需要共享资源。 所以出现了静态变量。 2,静态变量的用法 1)通过类名直接引用:HelloWorld.var 2)通过对象访问:HelloWorld world=new HelloWorld(); world.var; 结:最好通过类名访问静态变量。 下面归纳一下java用于控制可见性的4个访问修饰词: 1)仅对本类可见--private 2)对所有的类可见--public 3)对本包和所有子类可见--protected 4)对本包可见---默认,不需要修饰词
    查看全部
    5 采集 收起 来源:练习题

    2018-02-14

  • 静态变量的访问可以不创建对象, 直接用 类名.静态变量 也可以创建对象用 “对象名.静态变量” 访问静态变量。 还可以通过改变 对象名.静态变量 来改变静态变量的值。 问:可以通过 “类名.静态变量” 访问静态变量 如: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,则该变量在内存中有不变的位置,相当于全局变量,所有类的实例都访问同一个存储变量区域。对其修改对于所有类的实例来说都是可见和一致的。 1、类的静态成员变量不是属于任何一个特定的对象,而是属于该类,当系统第一次使用该类时就会为其分配内存空间直到该类被卸载才会进行资源回收。 2、静态成员变量可以用类直接访问、也可以用对象访问(对象访问也可以更改其值)推荐用类访问。
    查看全部
  • Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object类。 Object类中的方法,适合所有子类。 toString()方法 在Object类里面定义toString()方法的是返回的对象的哈希code码(对象地址字符串) 如果直接输出对象名,就会执行toString()方法。例如:System.out.println(实例化对象名); 可以通过重写toString()方法输出对象的属性。 public String toString() { return "HelloWorld[name="+name+"]"; }
    查看全部
  • 创建对象: 类名 对象名 = new 类名(); Telphone phone = new Telphone (); 使用对象: 引用对象的属性:对象名.属性 phone.screen = 5;
    查看全部
  • 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。如:
    查看全部
  • 1静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。 2如果希望在静态方法中调用非静态变量,非静态方法,可以通过创建类的对象,然 后通过对象来访问非静态变量,非静态方法 3在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
    查看全部
  • 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代 码块。如果使用 static 修饰初始化块,就称为静态初始化块。 注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能 给静态变量赋值,不能初始化普通的成员变量。 程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方 法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象时并不执行静 态初始化块。
    查看全部
  • Dog dog =new Dog(); Dog dog2=new Dog(); dog.equals(dog2)
    查看全部
  • Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。当然,鉴于他作用的特殊性更推荐用类名访问 使用 static 可以修饰变量、方法和代码块。 注意:静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收!
    查看全部
  • 构造方法 1使用new+构造方法 创建一个新的对象 2构造方法是定义在java类中的一个用来初始化对象的方法 构造方法与类同名且没有返回值 3当没有指定构造方法时,系统会自动添加无参的构造方法 4当有指定构造方法,无论是有参、无参的构造方法都不会自动添加无参的构造方法 5构造方法的重载:和普通的方法重载一样 6构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值
    查看全部
  • 成员变量和局部变量 1成员变量 在类中定义,用来描述对象将要有什么 本类的方法及其他类的方法使用 java会给成员变量一个初始值 2局部变量 在类的方法中定义,在方法中临时保存数据 只能在当前类使用 java不会给局部变量赋予初始值 在同一个方法中,不允许有同名局部变量 在不同的方法中,可以有同名局部变量 两类变量同名时,局部变量具有更高的优先级
    查看全部

举报

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

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