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 | public class RefArray36 { |
- 引用数组中的每个值都会是引用的缺省值:null
7.引用的缺省值-NULL
引用也有缺省值
- null是引用类型的缺省值
- null代表空,不存在.可以读作空
- 引用类型的数组创建出来,初始值都是空
null带来的问题
大名顶顶的Null PointerException(NPE)
如果不确定,使用前要先判断引用是否为空
8.像自定义类型一样使用类
- 类中也可也包含其他类
9.java中的包和访问修饰符上
- 为了避免类放在一起混乱,可以把类放在文件夹中
- 这时候就需要使用package语句告诉java这个类在那个package里
- package读作包.一般来叔类都会在包里,而不是放在根目录
- 不同的包里可以由相同名字的类
- 一个类只能由一个package语句,必须在第一行的有效代码
类使用太繁琐咋办,import
- 当使用另一个包里的类的时候,需要带上包名
- 可以使用import语句,可以由多个
- 当一个包中由很多类的时候可以使用通配符*
10.java中的包和访问修饰符下
- 主要public成员变量