java继承

来源:互联网 发布:mac应用强制退出 编辑:程序博客网 时间:2024/06/16 17:13

 1、父类中如果有privat的成员变量,子类是不能继承的;
2、子类中继承父类用关键字extends
单继承

 

重写方法的规则:

1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。
2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。如果在子类中写了一个只有返回类型不同的函数,将不是重写,且会报错
3、访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)
4、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。例如:
父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常。

 

继承初始化顺序:
先父类,再子类;先属性,再构造方法;


final:使用final关键字最终的;修饰类 方法 属性 变量;
final修饰类 不能被继承;
final修饰方法 不允许覆盖重写 但是可以重载该方法
final修饰属性:不会隐式初始化,必须赋值
final修饰变量:常量


super关键字:

调用父类中的属性:super.父类中的属性
调用父类方法:super.父类中方法()

super 的应用
1.子类的构造的过程中必须调用父类的构造方法;
2. 若子类没有显示调用父类的构造方法,则系统会自动调用父类的无参构造方法,显式调用父类构造方法时super()必须要在子类构造函数第一行
3.如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错


Object类:
1、Object类是所有类的父类。若没有使用extends关键字明确标识继承另一个类,则默认继承Object类;
2、直接输出对象,输出的是该对象的哈希码(对象地址字符串),eg:com.imooc.Dog@61de33;
3、重写toString()方法输出对象的属性;
4、在Eclipse中使用Source下的Generate toString()方法。


Object类:
1、equals()方法(==)比较对象引用是否指向同一块内存地址(同一个);
2、重写equals()判断两个对象的属性值是否一致(不同但相等);
3、Eclipse软件中通过Source下的Generate hashcode() and equals()进行equals()方法的重写,此时hashcode()用不上可删除;
4、类对象(obj.getclass())关注的是类的属性有哪些,而类的对象(obj)关注的是类的属性值;



0 0
原创粉丝点击