05.Java基本数据类型-引用数据类型

2021-02-24  本文已影响0人  codingHi

实例/对象 Instance/Object
引用 reference

引用数据类型和基本数据类型的相同点

引用数据类型和基本数据类型的不同点

数组

语法:

      数组元素类型[] 变量名 = new 数组元素类型[数组长度]
      int[] intArray = new int[9];
      String[] strings = new String[2];
      intArray[1] = 15; //赋值
      intArray[2]; //数组第三个元素
      double[] doubleArray = new double[100];

      //多维数组
      int[][] scores= new int[3][6];
      intArray[2][5]; //数组第三个数组中的第六个元素
      double[][] scores= new double[5][9];
      double[][][] scores= new double[5][9][3];
      //这个数组的元素就是二维的double数组,即double[][]
      double[][][] double3Array;
      int[] a1 = new int[9];
      int[] a2 = new int[5];

      //数组类名总是以左中括号开头,然后就是不同的标识。
      System.out.println(intArray.getClass().getName());  // [I
      System.out.println(strings.getClass().getName());  // [Ljava.lang.String;
      
      double[] scores = new double[3];// 不能给数组.length赋值--不能修改数组的长度
      int[] intArr1 = new int[5];  //数组
      int[][] intArr2 = new int[5][9]; //二维数组
      int[][][] intArr3 = new int[5][9][3]; //三维数组...可以建多维数组


      //分割线-------------------------
      int[] intArr;
      intArr = new int[2];
      intArr = new int[3]; //相同的引用之间可以互相传值

本质:

在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类

image.png

类多太混乱?用package管理

为了避免类在一起混乱,可以把类放在文件夹里。这时就需要用package语句告诉Java这个类在哪个package里。package语句要和源文件的目录完全对应,大小写要一致。

      import com.phone.parts.Phone   //import引入
      import com.phone.parts.*   // 使用通配符,意思是把parts文件夹下的类都引入
      package aa.bb.cc; //必须是有效代码的第一行,意思是此文件在aa文件夹下的bb文件夹下的cc文件夹内

类使用太繁琐怎么办?用import

属性访问修饰符:public

类的全限定名

方法重载(overload)

重载的参数匹配规则

构造方法---和类名一致并且没有返回值的方法就是构造(constructor)方法。这样Java初始化时会自动调用构造方法。

静态变量

public static double DISCOUNT_FOR_VIP=0.95

import aa.bb.cc  //cc为静态变量所在的类文件
System.out.println(cc.DISCOUNT_FOR_VIP)
// java 新语法
import static aa.bb.cc.DISCOUNT_FOR_VIP
System.out.println(DISCOUNT_FOR_VIP)

静态方法

public static double DISCOUNT_FOR_VIP=0.95
//静态方法使用static修饰符
public static double getVipFun(){
  //静态方法可以访问静态变量,包括自己类的静态变量和在访问控制符允许的别的类的静态变量
  return DISCOUNT_FOR_VIP
}

static 代码块和 static变量初始化

修饰符

方法和属性的可见性修饰符

main 方法使用指南

System 类不简单

StringBuilder 类

继承

组合

super:和父类对象沟通的桥梁

父类和子类的引用赋值关系

多态

instanceof 操作符

protected

final 修饰符最见不得变化

万类之祖:Object 类

hashCode 和 equals 方法初探

toString方法

初探 Class 类

初探反射

面向对象的三要素:封装、继承、多态

有方法代码的接口

匿名类

特殊类的总结

枚举

非公有类

内部类

静态内部类:可以有访问修饰符,可以在类外部访问(对比静态变量)
成员内部类:可有访问修饰符,有外部类对象的 this 自引用(对比成员方法),可以在外部使用,但是创建对象语法需要指明外部对象
局部内部类:没有访问修饰符(对比局部变量),有外部类的引用,访问参数和局部变量,必须是 final 的

上一篇 下一篇

猜你喜欢

热点阅读