Java中多维数组存的元素类型是引用;
所以可以有阶梯状的数组
int[][] a={ { 1,2,3 } , { 4 , 5 }, null };
类和对象:
什么是类(自行车的设计图) 什么是对象(一辆辆的自行车)
为什么要设计类的对象的机制(面向对象编程)
状态(属性) + 行为(方法)
面向对象的三大特性:封装、继承、多态
一、语法:
1、定义类的语法:
修饰符(modifier)class 类名称{
1、属性;
2、方法
3、构造方法
}
(1)如何定义属性
修饰符(modifers)变量类型 变量名称;
(2)如何定义方法
修饰符(modifers) 返回值类型 方法名称(形参列表){
实现
}
(3)如何定义构造方法
修饰符(modifers) 类名称(形参列表){
}
如何没有明确写出构造方法,补一个默认的无参构造方法
如果一旦给出了构造方法,不再默认构造方法
2、构造对象的语法 | 对象实例化的语法
create object | instance(动词)
(1)类名称 变量名称 = new 类名称(实参列表)
(引用类型-类引用)
a.第一步,new 计算对象需要的内存大小;开辟空间;初始化为0
b.第二部,调用构造方法,对属性初始化
c.第三部,构造方法调用结束,返回一个指向新对象的引用
(2)new 类名称(实参列表)
强调:一个文件中只能有一个 public 类;字符串也是引用,字符串也放在堆区
2、对象中存储最主要的就是属性,其次还有找到在方法区中保存的类的信息
如何访问对象的属性,以及如何调用对象的方法
在该类内部:
(1)访问属性:直接通过属性名称访问即可;
(2)调用方法:直接通过方法名称调用即可
在该类外部:
(1)访问属性:对象引用.属性名称
(2)调用方法:对象引用.方法名称(实参列表)
嵌套调用和链式调用
3、 Person p=null;
定义了一个没有指向任何对象的Person类型的引用(类类型的引用)
Person p=new Person(……);
(1)定义了一个Person类型的对象
(2)定义了一个指向Person类型的对象的Person类型的引用(类类型的引用)
引用类型和指向的对象类型是两回事(留到多态详细讲解)
p是一个Person类型的引用,指向一个Person类型的对象
4、this关键字的使用
(1)在构造方法中调用其他构造方法。调用语句必须出现在第一行(Java课件5 的4.2)
(2)通过this访问属性或者方法(一般出现在方式了命名遮挡的时候)
(3)this 代表的就是当前对象的引用
重点:普通属性和普通方法,其实都绑定这一个隐含的对象
写了Date