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

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 1,static 出现的原因: 类对象拥有的资源是属于自己的是独立的、是不能被共享的。因为在程序中需要共享资源。 所以出现了静态变量。 2,静态变量的用法 1)通过类名直接引用:HelloWorld.var 2)通过对象访问:HelloWorld world=new HelloWorld(); world.var; 结:最好通过类名访问静态变量。
    查看全部
    0 采集 收起 来源:练习题

    2017-05-02

  • 下面归纳一下java用于控制可见性的4个访问修饰词: 1)仅对本类可见--private 2)对所有的类可见--public 3)对本包和所有子类可见--protected 4)对本包可见---默认,不需要修饰词
    查看全部
    0 采集 收起 来源:练习题

    2017-05-02

  • 静态变量的访问可以不创建对象, 直接用 类名.静态变量 也可以创建对象用 “对象名.静态变量” 访问静态变量。 还可以通过改变 对象名.静态变量 来改变静态变量的值。 问:可以通过 “类名.静态变量” 访问静态变量 如: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.使用new+构造方法创建一个新的对象 2.构造方法是定义在Java类中的一个用来初始化对象的方法,构造方法与类同名且没有返回值 构造方法的语法格式: public 构造方法名(){ //初始化代码 } public后面没有返回值类型,构造方法名与类名相同,括号内可以指定参数 3.无参构造方法的使用 main(): Telphone phone=new Telphone(); class TelPhone: public Telphone(){ System.out.println("Telphone构造方法执行了"); } 如果我们没有指定一个无参的构造方法,那系统会帮我们自动生成一个无参的构造方法,如果我们对系统生成的无参构造方法不满意,可以自定义一个无参的构造方法 也就是说当我们创建对象的时候,其实我们执行的是构造方法 4.有参构造方法的使用 main(): Telphone phone2=new Telphone(4.0f, 2.0f, 2.0f); class Telphone: public Telphone(float newScreen,float newCpu,float newMem){ screen=newScreen; cpu=newCpu; mem=newMem; } 有参构造方法的目的就是初始化对象中成员变量的值 通过无参或者有参的构造方法都可以创建对象,但是后者不但可以创建对象而且可以给对象中的实例变量赋初值 5.当没有指定构造方法时,系统会自动添加无参的构造方法 6.当有指定构造方法时,无论是有参无参的构造方法,都不会自动添加无参的构造方法 7.构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法 8.构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值
    查看全部
  • 综合练习要求
    查看全部
    0 采集 收起 来源:综合练习

    2017-05-02

  • 程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
    查看全部
  • 1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。 可以直接调用同类中的静态方法,但不能直接调用非静态方法。 如果要调用非静态方法、变量,则需要创建对象,通过对象名调用。 2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量以及静态、 非静态方法。
    查看全部
  • 成员变量:在类中定义,用来描述对象将要有什么(属性)。可被本类方法和其他跟当前类有关系的方法使用。 局部变量:在类的方法中定义,在方法中临时保存数据。(只能在当前的方法中使用) 区别: 1.作用域不同:局部变量的作用域仅限于定义它的方法,成员变量的作用域在整个类内部都是可见的。 2.初始值不同:java会给成员变量一个初始值,java不会给局部变脸赋予初始值。 3.在同一个方法中,不允许有同名局部变量;在不同的方法中,可以有同名局部变量。 4.两类变量同名时,局部变量具有更高的优先级。
    查看全部
  • 创建对象,也是构造函数,创建一个新的对象: 类名 对象名=new 类名(); Telphone phone=new Telphone(); 使用对象: 引用对象的属性:对象名.属性=123; phone.screen=5;给scree属性赋值5 引用对象的方法:对象名.方法名(); phone.sendMessage();调用shendMessage()方法
    查看全部
  • 看不懂
    查看全部
  • new 一个对象是实例吗? 对,是实例,你说的没错。可以把这个new出来的对象叫做实例,说白了就是这个new出来的“东西”,叫它对象也可以,叫它实例也可以,对象和实例在这个角度上来讲是等价的。 这样: Java中使用 new关键字 加上 构造方法,来创建一个对象,下面是一个名为Cat的类, public class Cat { public Cat() { System.out.println("这是构造方法"); } } 使用new + 构造方法 来创建一个对象,那么也就是 Cat c = new Cat(); 前半部分,Cat c 的意思是,在内存中分配一个变量,名字叫c,这个变量是Cat类型的,它的值是什么? 一会儿在说; 后半部分,new Cat(); 这就是new关键字和构造方法来创建一个对象,Cat()是构造方法的名字没错吧?想造出一个对象来,就这么写,语法规定的,没有为什么; new Cat(); 说明 new这个Cat类的一个对象,程序运行的时候,会调用构造方法Cat(),等这个构造方法执行完了,这个Cat类型的对象也就造出来了,真正的出现在内存当中了; 使用new关键字造出来的对象,被分配在内存的堆区(heap),而且等这个对象真正出来之后,还会做一件重要的事情: 我们这个对象是被分配在内存中的,那么内存地方大了,这个对象在哪里呢?怎么找到它呢?new关键字创建出一个对象之后,会把这个对象在内存中的地址返回,通过这个地址就可以找到这个对象,那么我们上面的写法, Cat c = new Cat(); 意思就是说,把这个对象在内存中的地址 赋值 给变量c,这就是Java中引用概念,c就叫做引用,或者叫引用变量,或者直接叫变量,没问题,都是它; c的值就是一个内存地址,或者叫引用地址,通过这个地址,就可以准确的找到我们刚才创建出来的对象,以后我们要使用这个对象做一些事情,调用此对象的方法什么的,都用过这个引用,ok? ---- 注意,我再说一遍,好多人都搞不清楚,这个c到底是对象还是引用,好多人说c就是Cat类的一个实例,这是非常错误的,c就是引用,不是对象!我们new出来的这个东西,真正在内存中的这个东西叫做对象,叫做实例 个人理解:对象是内存中类的属性集合,变量是这个集合在内存中的引用地址 [ 收起全文 ]
    查看全部
  • 当有指定构造方法,无论是有参,无参的构造方法,都不会自动添加无参的构造方法
    查看全部

举报

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

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