Java笔记10:面向对象-构造方法和继承
1.数据类型分类和引用类型数组
1)基本数据类型
- 8种
- byte,short,int,long,float,double char,boolean
- 基本数据类型变量保存的值在内存的栈中
2)引用数据类型
- String, 数组, 类(自造类)
- 引用数据类型变量保存在栈中的值是它引用对象的引用值
3)引用数据类型的数组
基本数据类型的数组
int[] nums=new int[5];
引用数据类型的数组
Dog[] dogs=new Dog[5];
- 3.1)引用数据类型数组元素的默认值是:null
- 3.2)为引用数据类型数组元素赋值,需要赋值对象
- 3.3)引用数据类型数组的元素可以调用这个元素引用对象的属性或方法
4)null: 空
null表示这个变量没有引用任何对象
当一个变量引用null时
如果打.调用了任何属性或方法
都会引发空指针异常
NullPointerException
解决方案:
- 1.让原来为null的变量引用某个对象
- 2.判断是否为null后再调用属性或方法
5)引用类型数组也可以声明的同时赋值
Dog[] dogs={
new Dog(....),
new Dog(....),
new Dog(....)
};
6)多维数组(二维数组)
一个数组中的元素又是数组的变量
6.1)声明二维数组
int[][] nums=new int[5][];
nums[0]=new int[4];
nums[1]=new int[6];
....
6.2)声明的同时赋值
int[][] nums={
{4,5,9,7,6},
{3,7,4,8,9},
{1,5,7,6,3},
....
};
6.3)要想遍历二维数组需要循环嵌套
2.继承
- 面向对象编程三(四)大特征
(抽象),封装,继承,多态
1)什么是继承
就是面向对象编程中一种代码复用的方式
2)为什么需要继承
能够将多个类中相同的属性或方法
编写到一个类中,只写一次
减少代码冗余,提高程序的可维护性和可扩展性
3)怎么使用继承
继承的格式:
class A extends B{
}
A和B均是类名
我们说类A继承类B
类A中和类A的对象,可以使用类B中的属性和方法
将类A称之为子类(派生类)
将类B称之为父类(超类,基类)
4)继承需要遵循的原则
子类应该符合 is-a (是一个)父类的原则
5)java中继承是单根的(单根性)
一个子类只能继承一个父类
6)java中继承是传递的(传递性)
一个子类能使用父类和祖先类的内容
如果一个类没有继承任何父类 那么默认继承Object
Object类是所有类的父类