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

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 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出来的这个东西,真正在内存中的这个东西叫做对象,叫做实例 个人理解:对象是内存中类的属性集合,变量是这个集合在内存中的引用地址
    查看全部
  • 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
    查看全部
  • 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。
    查看全部
  • 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );
    查看全部
  • 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
    查看全部
  • 对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。
    查看全部
  • 接口的引用可以使用实现了接口的具体方法
    查看全部
    0 采集 收起 来源:Java 中的接口

    2017-05-06

  • 成员变量与局部变量的定义区别: 1,成员变量: 定义在类中,用于描述对象中有什么; 2,局部变量: 定义在方法中,用于描述方法。 主要区别: 1,作用域不同 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类的内部都是可见的 2初始值不同 Java会给成员变量赋予初始值 Java不会给局部变量赋予初始值(赋值也可以) 3.在同一个的方法中,不允许有同名局部变量; 在不同的方法中,可以有同名局部变量; 4.在两类变量同名时,局部变量具有更高的优先级。 注意:成员变量是被给予初始值的,默认一般是0,而局部变量的初始值必须自己赋值。
    查看全部
  • 无参的构造方法: 在main()函数中: main(): Telphone phone=new Telphone(); 在class类中: public class Telphone{ public Telphone(){ System.out.println("无参的构造方法执行了"); } }
    查看全部
  • 难点: 构造方法
    查看全部
  • 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
    查看全部
  • 成员变量与局部变量的定义区别: 1,成员变量: 定义在类中,用于描述对象中有什么; 2,局部变量: 定义在方法中,用于描述方法。 主要区别: 1,作用域不同 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类的内部都是可见的 2初始值不同 Java会给成员变量赋予初始值 Java不会给局部变量赋予初始值(赋值也可以) 3.在同一个的方法中,不允许有同名局部变量; 在不同的方法中,可以有同名局部变量; 4.在两类变量同名时,局部变量具有更高的优先级。 注意:成员变量是被给予初始值的,默认一般是0,而局部变量的初始值必须自己赋值。
    查看全部
  • //外部类 public class HelloWorld { private String name = "爱慕课"; // 外部类中的show方法 public void show() { // 定义方法内部类 class MInner { int score = 83; public int getScore() { return score + 10; } } // 创建方法内部类的对象 MInner mi=new MInner(); // 调用内部类的方法 int newScore=mi.getScore(); System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore); } // 测试方法内部类 public static void main(String[] args) { // 创建外部类的对象 HelloWorld mo=new HelloWorld(); // 调用外部类的方法 mo.show(); } }
    查看全部
  • 方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。 一定要注意哦:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。
    查看全部
  • //外部类 public class HelloWorld { // 外部类中的静态变量score private static int score = 84; // 创建静态内部类 public static class SInner { // 内部类中的变量score int score = 91; public void show() { System.out.println("访问外部类中的score:" +HelloWorld.score ); System.out.println("访问内部类中的score:" + score); } } // 测试静态内部类 public static void main(String[] args) { // 直接创建内部类的对象 SInner si=new SInner(); // 调用show方法 si.show(); } }
    查看全部

举报

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

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