父类对象由子类实例化

发布时间:2023-01-19 03:40:21   来源:文档文库   
字号:
父类对象由子类实例化
一、使用父类类型的引用指向子类的对象;二、该引用只能调用父类中定义的方法和变量;

三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)四、变量不能被重写(覆盖)”重写“的概念只针对方法。如果子类需要操作父类变量,可以在子类的构造函数中使用super五、降低程序的耦合性:即调用者不必关心调用的是哪个对象,只需要针对接口编程就可以了,被调用者对于调用者是完全透明的。让你更关注父类能做什么,而不去关心子类是具体怎么做的,你可以随时替换一个子类,也就是随时替换一个具体实现,而不用修改其他。
father_son.java


superthis的异同:1super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)2this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)3super:它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名super.成员函数据名(实参)
4this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名)
5调用super(必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(,如果父类没有这种形式的构造函数,那么在编译的时候就会报错。
6super(this(类似,区别是,super(从子类中调用父类的构造方法,this(在同一类内调用其它方法。
7super(this(均需放在构造方法内第一行。
8)尽管可以用this调用一个构造器,但却不能调用两个。9thissuper不能同时出现在一个构造函数里面因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
10this(super(都指的是对象,所以,均不可以在static环境中使用。包括:static,static方法,static语句块。
11)从本质上讲,this是一个指向本对象的指针,然而super是一个Java关键字。

本文来源:https://www.2haoxitong.net/k/doc/909c88af7375a417876f8f29.html

《父类对象由子类实例化.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式