• javaSE基础05


    javaSE基础05:面向对象

    一、数组

       数组的内存管理 一块连续的空间来存储元素。

        Int [ ] arr = new int[ ];

      创建一个int类型的数组,arr只是一个变量,只是数组的一个引用地址,局部变量存在一个栈中,java中没有全局变量,只有成员变量,在堆区中存放

    数组中常见错误:

    1.NullPointerExcepation:空指针异常

      原因:引用的类型变量没有指向任何的对象,在这种情况下还访问了它的属性,一个对象如果使用完了不会马上释放,只是将这个对象变为一个垃圾对象,由垃圾回收机制自己来释放。程序员没有办法操作释放时间

    2.ArrayIndexOutOfBoundsExcepation:数组下标越界

      查找数组中是否有这个元素binarySearch(查找的数组,要找的数);返回的是一个int类型的数(索引)。

    Java中数组中存在多维:二维数组,三维。。。

    二维数组定义格式:

    数据类型[ ] [ ] 数组名 = new 数据类型 [ ] [ ]

      动态初始化:

        数据类型[ ] [ ] 数组名 = new 数据类型 [ ] [ ]

        注意:前面中括号数值指的是二维数组元素的个数,后面一个是指二维数组中一维数组的元素个数

      静态初始化:

        数据类型[ ] [] 数组名称 = { { 元素1 ...}, { 元素1 ...}, { 元素1 ...}};

     Int[ ] [ ] arr = { { 1, 2, 3}, { 4, 5 }, { 6, 7}};

          Int num = arr [2] [1] ;     // 7

    二维数组中的元素一定是一维数组

    想要接收二维数组中的元素,先要有一个一维数组来接收

    总结:数组的特点

      1.数组中只能存同一种数据类型的数据

      2.数组会给存入的元素默认分配一个索引值,索引从0开始

       3.数组一旦初始化,长度就固定了

      4.数组中的元素的内存地址是连续的

    二、Java也是属于面向对象的编程:

      面向对象的三大特征:封装、继承、多态

      对象:真实存在的唯一的事物

      (面向对象编程:oop)思想:力图使计算机语言中的事物描述和自然中的事物尽可能保持一致

      面向对象的核心:找到合适的对象做合适的事情

    Java中如何来找合适的对象:

      1.sun已经指定好的类,通过订制好的类创建对象,需要认识这些类  

      2.自定义类,通过自定义类来创建对象

    类中包含:

      属性和方法

    类的定义格式:

      Class 类名{

        属性(成员变量):描述事物的公共特点

      格式:数据类型  变量名

           String   name

      方法:描述事物的行为(做什么事情)

      修饰符  返回值类型 方法名 (参数列表){ 具体的实现}

      Public :公开的方法,任何人都可以访问

      Private :私有的,只能自己使用

    例:

    Public void run(){

    System.out.println( “ 老师讲课啦,赶快回教室!”);

      }

    }

    访问属性:

       对象.属性名

    设置属性:

       对象.属性名 = 设置的值;

      对象的引用变量是存在栈区的,但是对象本身是存在堆区的,成员也是随着对象存在堆区

    成员变量和局部变量的区别

    A)定义的位置:

      1.成员变量定义在类中,方法外

      2.局部变量是定义在方法中

    B)作用域上:

      1.成员变量在当前类中都可以使用

      2.局部变量只能在方法中使用

    C)生命周期上:

      1.成员变量:随着对象的创建而创建,随着对象的消失而消失

      2.局部变量:随着方法的调用而创建,出了方法的作用域就销毁

    D)初始值来区分

      1.成员变量,如果没有赋值,它是有默认值的

        int 默认是0

        Float 默认是0.0f

        Double 默认是0.0

        Boolean 默认是false

        Char 默认‘ ’

        String (引用类型)null

      2.局部变量:

        局部变量默认是没有初始值的,必须先初始化(声明变量并赋值)才能使用

        成员变量在当前类中是可以直接使用的,如果变量需要在其他类中使用,就需要创建对象(目前是这个样子)

    三、类和对象的关系

    类是对同一类事物(对象)的抽象,对象是实际存在的该类的各个实体

  • 相关阅读:
    Java可变参数
    为什么static方法中不可以调用非static方法
    用注解@DelcareParents实现引用增强
    在SpringBoot中用SpringAOP实现日志记录功能
    梳理一下我理解的aop
    包裹iframe的div与iframe存在高度差的问题解决方案
    非跨域情况下iframe 高度自适应的问题解决(一)
    flex布局较之float布局的优点新发现
    webpack4 动态导入文件 dynamic-import 报错的解决方法
    vue chrome 浏览器调试工具devtools插件安装
  • 原文地址:https://www.cnblogs.com/qlhMeiMei/p/6182199.html
Copyright © 2020-2023  润新知