1,构造函数
构造函数的语法格式:
修饰符+类名(){
}
构造函数的作用:实例化对象,快速初始化对象
构造函数的特点:
1,如果类中没有构造函数,系统会为每一个类生成默认的构造函数
2,如果类中存在带有参数的构造函数,系统就不会为类生成默认的构造函数
此时如果调用new Cat();时会报错.
解决方法有两个:1,为类添加默认的构造函数
2,new Cat(传参数);
3, 构造函数是没有返回值的.
2.继承
继承的语法
A:B 即A类继承自B类
继承的特点:
1.子类会拥有父类所有的公开字段/属性/方法
2.父类不会拥有子类的字段/属性/方法
3.如果子类和父类出现相同的字段/属性/方法,以子类为准
4.子类可以出现在任何父类出现的地方,父类可以替换子类,子类不能直接替换父类
Father f = new Son();
编译时f的类型是Father,运行时f的类型是Son
5.如果子类出现和父类相同的方法名时,如果想隐藏父类方法,
需要在子类方法修饰符后加上new关键字,防止后期程序过大时出现Bug
6.base关键字代表父类对象
7.一个子类不可以拥有多个父类(父类除了object类)
8.父类可以拥有多个子类
继承中的构造函数特点:
1.如果两个类存在父子关系,那么在实例化子类的时候,首先会调用
父类的无参数构造函数,然后再调用子类的构造函数
2.实例化子类对象的时候,可以指定父类调用父类中存在的任意构造函数
使用关键字:base()
:base() ----指定子类构造函数调用父类的无参数构造函数
:base(a) ---指定子类构造函数调用父类带有一个参数的构造函数
这里需要注意的是:
我们在实例化子类对象的时候,一定要关注构造函数的特点;