java中exists和not exists java里的extend
转载
java中 “继承”是面向对象软 件技术当中的一个概念。如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方 法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。
继承的基本概念 1.继承是面向对象的三大特性之一。(封装,继承,多态) 2.被继承的类是父类,继承父类的类是子类 3.继承可以使一个对象直接使用另以对象的属性和方法 4.继承可实现代码重用
继承的限制 1.java只能显示单继承,即一个类只能有一个父类 2.允许多重继承 3.继承只能继承非私有的属性和方法 4.构造方法不能被继承
来看例子
情况一:
1. public class Mystring {
2.
3. public static void main(String[] args) {
4.
5. student ok=new student("xiaoming");
6. ok.say();//say方法也被继承过来
7. }
8.
9. }
10. class person
11. {
12. public String name;
13. //构造方法
14. public person()
15. {
16. System.out.println("我是person构造方法");
17. }
18. public void say()
19. {
20. System.out.println("名字是 :"+name);
21. }
22. }
23. class student extends person//继承person类
24. {
25. public student(String name)
26. {
27. this.name=name;//person的name属性被继承过来
28. }
29. }
输出结果为:
<ignore_js_op>
得出结论1:子类实例化时,首先会调用父类的构造方法,之后自己在进行实例化操作
情况二:
此时引入关键字super。super表示父类的引用,可以调用父类的方法和属性。如调用父类的say方法,可以用。super.say()调用。
得出结论二:父类无默认构造函数时,子类必须显示的调用父类的构造方法
继承方法的重写
概念:在java中,子类能继承父类中的方法,但有时子类并不想原封不动的使用父类的方法,而想做一些修改,这就需要采用方法的重写,又称方法覆盖。
方法重写需要注意的特性 1.发生重写的父类和子类的两个方法的返回值,函数名,参数列表必须完全一致 2.子类抛出的异常不能超过父类相应方法抛出的异常 3.子类方法的访问级别不能低于父类相应方法的访问级别(如父类方法时protected,子类重写就要用protected或public)
如:
1. public class Mystring {
2.
3. public static void main(String[] args) {
4.
5. student ok=new student("xiaoming");
6. ok.say();//say方法也被继承过来
7. }
8.
9. }
10. class person
11. {
12. public String name;
13.
14. public void say()
15. {
16. System.out.println("名字是 :"+name);
17. }
18. }
19. class student extends person//继承person类
20. {
21. public student(String name)
22. {
23. this.name=name;//person的name属性被继承过来
24. }
25.
26. //say方法重写
27. public void say()
28. {
29. System.out.println("重写过得方法 名字是 :"+name);
30.
31. }
32. }
|
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。