美文网首页
详述面向对象(2)

详述面向对象(2)

作者: Java中最亮的BUG | 来源:发表于2018-02-10 21:31 被阅读0次

1. 代码:Student s = new Student(); 做了哪些事情?

(1)把Student.class文件加载到内存

(2)在栈内存s开辟空间

(3)在堆内存为学生对象申请空间

(4)给学生的成员变量进行默认初始化。null,0

(5)给学生的成员变量进行显示初始化。林青霞,27

(6)通过构造方法给成员变量进行初始化。张艺兴,30

(7)对象构造完毕,把地址赋值给s变量

2. static关键字

(1)静态的意思。可以修饰成员变量和成员方法。

(2)静态的特点:

  A: 随着类的加载而加载

  B: 优先与对象存在

  C: 被类的所有对象共享

    这其实是我们判断该不该使用静态的依据。

    举例: 饮水机和水杯的问题思考

  D: 可以通过类名调用

    既可以通过对象名调用,也可以通过类名调用,建议通过类名调用。

(3)静态内存图

  静态的内容在方法区的静态区

(4)静态的注意事项

  A: 在静态方法中没有this对象

  B: 静态只能访问静态

(5)静态变量和成员变量的区别

  A: 所属不同

    静态变量: 属于类,类变量

    成员变量: 属于对象,对象变量,实例变量

  B: 内存位置不同

    静态变量: 方法区和静态区

    成员变量: 堆内存

  C: 生命周期不同

    静态变量: 静态变量是随着类的加载而加载,随着类的消失而消失

    成员变量: 成员变量是随着对象的创建而存在,随着对象的消失而消失

  D: 调用不同

    静态变量: 可以通过对象名调用,也可以通过类名调用

    成员变量: 只能通过对象名调用

(5) main方法是静态的

  public: 权限最大

  static: 不用创建对象调用

  void: 返回值给jvm没有意义

  main: 就是一个常见的名称

  string[] args: 可以接受数据,提供程序的灵活性

    格式: java MainDemo hello world java

相关文章

  • 详述面向对象(2)

    1. 代码:Student s = new Student(); 做了哪些事情? (1)把Student.clas...

  • 详述面向对象

    1:成员变量和局部变量的区别 (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法申明上...

  • JS面向对象

    JS面向对象入门 1、面向对象语言概念面向对象语言主要包括 类、对象、封装、多肽。2、面向对象的编程思想面向过程思...

  • 面向对象基础

    一、面向对象概述 1、面向对象编程包括: OOA:面向对象分析OOD:面向对象的设计OOP:面向对象的编程实现 2...

  • web-js-内置对象 面向对象

    内置对象 1、document 2、location 3、Math 面向对象 面向过程与面向对象编程 创建对象的方...

  • 第十二天学习Java(面向对象)

    2、2面向对象和面向过程 面向对象(OOP) 不是一种语言,而是一种思想 面向对象程序设计:(Object Ori...

  • 面向对象

    1.面向对象理解 2.面向对象关系图

  • 【技术贴】java面向对象的基本概念

    java面向对象概述 一,面向过程与面向对象 1,程序的发展经历了两个主要阶段:面向过程、面向对象。 2,对于面向...

  • ES6面向对象

    1、ES6面向对象: class(类) 构造函数 对象 实例对象 ES5面向对象是模拟面向对象。 2、继...

  • 8.面向对象基础

    1.什么是面向对象 2.应该如何学习面向对象 3.面向对象的思维方式 什么是面向对象 1.面向对象是一种编程方法;...

网友评论

      本文标题:详述面向对象(2)

      本文链接:https://www.haomeiwen.com/subject/tfphtftx.html