java的继承
一.成员变量和成员方法的继承:
1.私有的方法不能被继承private修饰,
2.公共的和受保护的可以被继承pubilc 和protected
3默认方法的相同包(同一文件夹)可以继承,不同包不能被继承
4方法的重写 ,方法一样,可以在方法重写的内容中调用super.父类方法(),特点:方法名称相同,参数的个数以及类型不同
二。构造方法(给对象的数据进行初始化,与类名字相同,如果不写则会自动创建一个带无参数的构造方法)的继承:
构造方法不能被继承,super()调用父类的构造方法(无参数),写不写都行;当父类的构造方法含参数构造方法的话,则用super.(string,int)
1.子类默认调用父类的无参构造
2,如果父类里面没有默认的构造方法,则必须用super手动调用有参数构造方法。
三。super的具体用法:
1.this表示当前对象的引用
2super表示父类的引用
(调用父类的构造方法)
调用父类的成员变量:super.i
调用父类的的成员方法:super().show()
四.继承关系的初始化过程:(面试笔试)
1.父类的静态代码块
2.子类的静态代码块
3.父类的非静态代码块
4父类的构造方法
5子类的非静态代码块
6子类的构造方法
总之,1.先静态,后非静态2.先父类后子类3先代码块后构造方法
五。抽象类和抽象方法:
1.语法格式:只有声明没有实现
2.规则:
1),一个类中如果有一个抽象方法,那么这个类必须被声明为抽象类,相反,一个抽象类可以没有抽象方法(没有意义)
2)抽象类不能被实例化,只能被继承使用
3)继承一个抽象类,必须冲洗所有抽象方法,或者自己是抽象类
4)一个抽象类可以有非抽象方法。
六。final关键字:
1.使用final声明一个常量;
2放在方法前面防止该方法被重写;
3放在类前面防止被继承;
七。object类:所有子类的父类;
1.equals 2.getClass 3.toString 4.finalize
指针地址用“==”:
比较内容:用equals,一般都要重写这个方法,因为里面就是retern。
2.getclass自描述的类//反射机制用着
3toString,当你输出一个对象的时候,会自动调用tostring,一般也需要自己去重写。
4.finnalize。回收内存的时候方法调用