Java自我思考-面向对象'

作者: 小白龙vip | 来源:发表于2016-06-11 22:16 被阅读229次

1.数组存在的作用?

由于数据都是存储在内存中,而我们需要获取到数据的值(变量的值),数组被归纳为一种数据结构,方便我们对存储在内存中的数据操纵和获取。不然我们就只能通过地址去获取;

int[][] arr = new int[3][3]一个二维数组,是通过一个一维数组在管理一个二维数组,嵌套管理。
arr值为[[i@343ced ,一个[代表一维数组,[[代表二维数组,@343cde实体的哈希值。
arr[0]null,如果我们不给arr[0]初始化,那么在使用的时候会有NullPinterException.

为什么要分堆内存和栈内存?

堆和栈其实是一种数据结构, 堆类似树一样的数据结构,我的理解是分散排列的,java通过new 对象就是分配在堆中. 栈是一种先进后出的数据结构,我们程序需要运行,就需要读取内存,而我们的程序读取的就是栈内存当中的数据. 我们的基本数据类型是存储在栈内存中的,当然栈中也可以存储一份我们在堆中开辟内存对象的引用.

一些混淆的关键字

static,静态关键子,让该代码块或者变量在类加载的时候加载;

this:代表当前类的应用,使用一般是在局部变量和成员变量名相同的时候.

super:在继承中用得比较多. A extends B 类,A中构造函数会默认有一行super()其实就是调用父类的构造函数. 如果我们自己修改了构造函数的参数如super(1)那么就会调用父类中相应构造函数. 我们在@overide复写父类函数的时候.可以通过super来决定什么时候调用父类的方法. 这个关键字在我理解看来解决了我们在对继承中父类中的方法什么时候调用或者不调用的弊端. 比如我们可以在父类定义一些方法.来控制逻辑;

fina:被修饰了类或者方法,变量其实就变成了一个常量,只能被初始化一次.

多态的作用?

多态对于我来说, 我的理解增加了类的可复用性, 有时候我们需要定义一些接口,然后让其子类实现, 让后赋值给父类,那么父类就可以调用子类中的方法, 注意:在多态中子类的成员变量在运行的时候主要看 = 左边的值,也就是真正持有该对象的成员变量的值;

enter image description here

相关文章

  • Java自我思考-面向对象'

    1.数组存在的作用? 由于数据都是存储在内存中,而我们需要获取到数据的值(变量的值),数组被归纳为一种数据结构,方...

  • Java面向对象概述

    标签(空格分隔): Java面向对象 问题思考 什么是面向对象? 为什么要面向对象? 怎么面向对象? 问题解决 什...

  • java SE目录

    java SE目录 java基础(一)java基础(二)关键字面向对象(一)面向对象(二)面向对象(三)集合(一)...

  • 2018-09-11

    Java面向对象 比较下面向过程与面向对象 面向过程:C 语言。做一件事情的时候,“我该怎么做?”。需要思考比较详...

  • 3. Java面向对象编程

    类与对象[1] Java是面向对象的汇编语言(面向机器)—— c语言(面向过程)—— java语言(面向对象) 类...

  • 王艳华Pythonday03

    Python的面向对象 Java 面向对象 继承

  • java总结

    Java是一门面向对象编程语言. java知识点梳理 java面向对象的特点java面向对象的三个基本特性: 封...

  • 从事Android以来的相关总结1-JAVA技能

    ☆JAVA技能 «有良好的JAVA基础,熟练掌握面向对象思想: 理解面向对象: 面向对象是一种思想,是基于面向过程...

  • Java基础03面向对象

    Java 基础02Java编程基础 面向对象上 面向对象的概述 面向对象的概述:面向对象是一种符号人类思维习惯的编...

  • #直面Java#001 Java是一种面向对象的语言

    Java 是一种面向对象的语言 Date 20200523 思考题1:什么是面向过程? 答:面向过程就是把解决问...

网友评论

    本文标题:Java自我思考-面向对象'

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