java继承父类的构造方法 java如何继承父类例子
转载
- extends来继承父类(超类,基类)
- 只要父类里面的变量或方法是公开(public)的就会继承下来
- 方法覆盖
- 在子类中写一个与父类的方法同名的方法
- 通过super.方法名 可以访问被覆盖掉的父类方法
- 父类的构造优于子类,所以构造器内写super是在最前面
- Father f=new Son()或new SonSon();//合法。这个叫多态,类的多种形态
- 这时只能调用father,son共有的方法
- Son s=new Father();//不合法
- 一个派生类只有一个父类,一个父类可以有多个派生类,所有类的父类是Object类
- 方法加上fianl不能被派生类重写(覆盖),类加上final不能被继承
- 强制类型转换(面试点)
- 条件:祖先类的引用=子孙类的堆中值的地址(子孙类对象地址)
- 强制类型转换的两个对象必须是直系关系,不能是旁系关系
- Father f=(Father) new Son();
- Father f=new SonSon();Son s=new Son();s=(Son)f;
- A instanceof B:判断B是不是A的子孙类,判断适不适合强制类型转换的条件
- 抽象类:侧重于提取共性
- 因为子类可能会覆盖掉父类的方法,所以父类只提供方法名,方法内容由子类自己来编写实现
- 抽象类不能new自己,但是可以new数组。如果Person是抽象类,那么
- Person p=new Person();//不合法
- Person[] arr=new Person[2];//合法
- 抽象类和接口有什么共同点和不同点(面试点)
- Object,所有类都有这几种方法,因为其他类是Object类的子类(面试点)
- Equals
- 什么意思(object和String里面的作用都要说出来):比较两个对象的地址是否同一个地址;字符串里面比较的是字面量,不是字符串地址。==:在引用类型里指的是地址是否相等,基本类型里面指的是值是否相等。
- 如果重写equals注意什么?为什么?:如果重写equals的话一定要重写hashCode。因为hashmap进行计算的时候hashcode和equals合作。
- Hashmap中怎么用的:key值判断相等需要用到equals(),hashmap存储的时候需要用到hashcode(),key一样的对象会根据hashcode分配到同一个桶,
- String的hashcode根据字面量(编码值)进行计算
- getClass:获取类信息
- hashCode:不同对象hashCode基本上不会相同,但是有一定的小概率是相同的。两个对象的hashCode不同那么他俩一定是不同的对象。
- hash散列:没有规律但是比较均匀
- hashCode是根据内存地址生成的
- Notify:唤醒当前线程
- notifyAll:唤醒所有线程
- toString:返回该对象的字符串表示:输出对象的时候默认调用toString方法
- Wait:当前线程进入等待队列
- 泛型:广泛的代表所有类型
- 创建:public class Arr<TYPE>{public TYPE a;},TYPE不能是基本类型
- 声明:
1. Arr<String> arr1=new Arr<>();arr1.a="泛型";
2. Arr<Person> arr2=new Arr<>();arr2.a=new Person("AGI");
3. Arr<int[]> arr3=new Arr<>();arr3.a=new int[]{1,2,3,4};
- 对象包装器和自动装箱(面试点)
- 装箱:Integer a1=9时把int类型的9转换成Integer,这个叫装箱。也就是说基本类型转成包装类叫自动装箱。
- 拆箱:int b1=a1时把Integer转成int,这个叫拆箱。包装类型转基本类型叫拆箱。
- 什么是128陷阱?两个变量值在-128~127时直接引用常量池里面的值,超出这个范围则另外申请自己的存储空间,所以这两个变量的字面量在值相等并且范围在(-128~127)时用==比较会返回true,超出这个范围则返回false。
1.
1. Integer a=12; Integer b=12;a==b->true
2. Integer a=128; Integer b=128;a==b->false
3. 超范围使用:a.intValue()==b.intValue()->true
- 可变参数方法
- Method(String … str)//可以传输0到n个参数,编译器最终把参数转换成数组
- 枚举类:定义了一个类,限定实例个数不能增加。
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。