java-(继承、子父类中的变量的特点、子父类中函数的特点-覆盖、)
来源:互联网 发布:产品样本设计软件 编辑:程序博客网 时间:2024/05/29 14:14
继承:查阅父类功能,创建子类对象使用功能。
聚集:has a
聚合:
组合:
子类要访问本类中的变量,要用this
子类要访问父类中的同名变量,用super
super的使用和this的使用几乎一致
this代表的是本类对象的引用
super代表的是父类对象的引用
----------------------------------------------------------------------------------------
但是子类岁具备了该功能,但是功能的内容却和父类不一致。
这时,没有必要定义新功能,而是使用覆盖特殊,保留父类的功能定义,并重写功能内容。
super();就是代表的
class fu{
fu(){
System.out.println("fu fun"); }
}
中的
fun(){
System.out.println("fu fun");
聚集:has a
聚合:
组合:
----------------------------------------------------------------------------------------
子父类中的变量的特点:
如果子类中出现非私有的同名成员变量时,子类要访问本类中的变量,要用this
子类要访问父类中的同名变量,用super
super的使用和this的使用几乎一致
this代表的是本类对象的引用
super代表的是父类对象的引用
----------------------------------------------------------------------------------------
子父类中函数的特点-覆盖:
package asa;/* * 子类已经拿到了父类中的内容, * class fu{void show1(){System.out.println("fu show");}}class zi extends fu{void show2(){System.out.println("zi show");}}public class aaaa {public static void main(String [] args){zi z=new zi();z.show1();z.show2();}} * *//* * 当子类出现和父类一模一样的函数时, * 当子类对象调用该函数,会运行子类函数的内容 * 如同父类的函数被覆盖一样 * *这种情况是函数的另一个特性,重写(覆盖)。 * class fu{void show(){System.out.println("fu show");}}class zi extends fu{void show(){System.out.println("zi show");}}public class aaaa {public static void main(String [] args){zi z=new zi();z.show();}}//控制台输出结果: * zi show*/当子类继承父类,沿袭了父类的功能,到子类中,
但是子类岁具备了该功能,但是功能的内容却和父类不一致。
这时,没有必要定义新功能,而是使用覆盖特殊,保留父类的功能定义,并重写功能内容。
-------------------------------------------------------------------------------------------------------------------------------------------
package asa;/* * 子父类中的构造函数 * 覆盖要一模一样,子父类中的构造函数是不一样的。 * */class fu{fu(){System.out.println("fu fun");}}class zi extends fu{ zi(){ //super(); System.out.println("zi fun"); }}public class aaaa {public static void main(String [] args){zi z=new zi();}}/*控制台输出结果是: * fu fun * zi fun * 由此可见,编译不仅走了子类,还走了父类。而且还是先走的父类。 * 其实是子类的构造函数,第一行有一条隐式的语句:super(); * 如果出现子父类后,想子类使用父类中中的构造函数时,用super();调用父类构造函数 * this();用于调用本类中的构造函数。 * */
子父类中构造函数的特点-子类实例化过程:
父类中的构造函数
在对子类对象进行初始化时,父类的构造函数也会进行
那是因为子类的构造函数默认第一行有一条隐式的语句super();
super():会访问父类中空参数的构造函数,而且子类中所有的构造函数默认第一行都是super()
package asa;class fu{fu(){System.out.println("fu fun");}}class zi extends fu{zi(){System.out.println("zi fun");}zi (int x){System.out.println("zi...."+x);}}public class aaaa {public static void main(String [] args){zi z=new zi();zi z1=new zi(4);}}/* *控制台输出结果: * fu funzi funfu funzi....4 */
package asa;class fu{fu(){System.out.println("fu fun");}}class zi extends fu{zi(){super();System.out.println("zi fun");}zi (int x){super();System.out.println("zi...."+x);}}public class aaaa {public static void main(String [] args){zi z=new zi();zi z1=new zi(4);}}/* *控制台输出结果: * fu funzi funfu funzi....4 */
super();就是代表的
class fu{
fu(){
System.out.println("fu fun"); }
}
中的
fun(){
System.out.println("fu fun");
}
阅读全文
0 0
- java-(继承、子父类中的变量的特点、子父类中函数的特点-覆盖、)
- JAVA子父类中函数的特点(覆盖)
- 继承—子父类中成员函数的特点-覆盖
- 12-面向对象(继承-子父类中成员函数特点-覆盖) 13-面向对象(继承-子父类中成员函数特点-覆盖的应用
- day07继承,子父类中成员的特点,方法的覆盖,子父类中的构造函数,final,抽象类,模板方法模式。 接口
- 继承、聚集;子父类中变量、函数、构造函数的特点
- java面向对象值继承-子父类中变量的特点
- java面向对象-子父类中函数的特点-覆盖
- 面向对象(子父类中函数的特点-覆盖)
- 面向对象(子父类中函数的特点-覆盖)
- java继承中构造函数的特点
- 面向对象-(子父类中函数的特点-覆盖)
- java——构造函数、构造代码块、Static关键字、main函数 & 继承:子父类中的变量、函数的特点、抽象类、接口等
- day 07继承,子父类中成员的特点,方法的覆盖,子父类中的构造函数,final,抽象类,模板方法模式。 接口
- 子父类中变量的特点
- Java中继承的特点
- JAVA 子父类对象变量的特点
- 子父类出现后,类成员的特点(变量 、函数)
- ORACLE 不走索引(失效)的原因以及解决办法
- js删除数组元素
- js call()与apply()
- 4143:和为给定数
- gitbook 生成 html 电子书, 搭建在 github 或 本地服务器上
- java-(继承、子父类中的变量的特点、子父类中函数的特点-覆盖、)
- 51nod 1640 天气晴朗的魔法 【二分枚举最大生成树】or【最小&&最大 生成树】
- Codeforces828 A. Restaurant Tables
- libevent post下载文件
- IOS常用框架
- 动态规划(一)入门例子
- kaggle竞赛——Titanic:Machine Learning from Disaster
- MOOC清华《程序设计基础》第5章:N皇后问题(带矩阵输出)
- waiting for headers 等待时间过久