极客java03

1.类

  • 一个类以public class开头,public代表这是公共类,类名要与文件名相同
  • 类体中可以定义描述这个类的属性的变量,叫做成员变量(member variable)
  • 每个成员变量以:结束

2.初探类和对象/实列(Object/Instance)

  • 从数剧类型的角度来开,类就是自己创建了一个新的数据类型,
  • 一个java程序中不允许类同名
创建一个对象
  • 使用new操作符,可以创建一个类的实列/对象(instance/object)
  • 使用new创建一个实列后,类中的每种变量都会被赋予其类型的初始值
  • 使用一个同类型的对象变量,可以指向这个实列
点操作符
  • 点操作符是用来访问/操作实体的属性的.类似于的
  • m1.name == m1的name

3.认识引用类型上

  • 一个Mer类型的引用,只能指向Mer类型的实例
  • 引用数据类型包含两部分信息,类型和实例
  • 每一个引用数据类型(简称引用)都是指向某个类的实例(instance/object)
  • 引用的类型信息再创建时就已经确定,可以通过给引用赋值,让其指向不同的实例
  • 引用之间可以相互赋值,因为类型相同
引用数据类型和基本数据类型
相同点
  • 都可以创建变量,可以赋值和使用其值
  • 本身都是一个地址
不同点
  • 基本类型变量的值,就是地址对应的值,引用数据类型的值也是一个地址,需要通过二级跳来找到实例
  • 引用数据类型时java中的一种内部类型,是对所有自定义类型和数组的统称并非特指某种类型

4.认识引用类型下

  • 类的定义是一个模板

  • 使用new操作符可以创建某个类的一个实例.在java程序运行的时候,所有这些创建出来的实例都被java放在内存中一个叫对(heap)的地方

  • 引用中存放的就是 实例的地址

5.类,对象和引用的关系

类和对象的关系
  • 类是对象的模板,对象是类的一个实例
  • 一个java程序中类名相同的类只能有一个,类型不可重名
  • 一个类可以由很多对象
  • 一个对象只能根据一个类来创建
引用和类以及对象的关系
  • 引用必须是,只能是一个类的引用
  • 引用只能指向其所属的类型的类的对象
  • 相同类型的引用之间可以赋值
  • 只能通过一个指向对象的引用,来操作一个对象

6.重新认识数组类型

数组是一种特殊的类
  • 数组的类名就是类型加上中括号
  • 同一类型的数组,每个数组对象的大小可以不一样
  • 也就是每个数组对象占用的内存可以不一样,这点和类的对象不同
  • 可以用引用指向类型相同大小不同的数组
引用的数组
  • 可以把类名当成自定义类型.定义引用的数组,甚至多维数组
1
2
3
4
5
6
7
8
public class RefArray36 {
public static void main(String[] args) {
Merchandise[] array = new Merchandise[5];
array[0] = new Merchandise();
array[0].count = 23;
System.out.println(array[0].count);
}
}
  • 引用数组中的每个值都会是引用的缺省值:null

7.引用的缺省值-NULL

引用也有缺省值
  • null是引用类型的缺省值
  • null代表空,不存在.可以读作空
  • 引用类型的数组创建出来,初始值都是空
null带来的问题
  • 大名顶顶的Null PointerException(NPE)

  • 如果不确定,使用前要先判断引用是否为空

8.像自定义类型一样使用类

  • 类中也可也包含其他类

9.java中的包和访问修饰符上

  • 为了避免类放在一起混乱,可以把类放在文件夹中
  • 这时候就需要使用package语句告诉java这个类在那个package里
  • package读作包.一般来叔类都会在包里,而不是放在根目录
  • 不同的包里可以由相同名字的类
  • 一个类只能由一个package语句,必须在第一行的有效代码
类使用太繁琐咋办,import
  • 当使用另一个包里的类的时候,需要带上包名
  • 可以使用import语句,可以由多个
  • 当一个包中由很多类的时候可以使用通配符*

10.java中的包和访问修饰符下

  • 主要public成员变量
你的支持是我最大的动力!
0%