ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java继承

2019-12-09 23:53:57  阅读:161  来源: 互联网

标签:java 构造方法 继承 子类 对象 父类 方法 属性


子类 1.通过extends关键字,可以直接拥有来自于父类的属性和行为 (但是能不能访问要受访问修饰符的限制) 分清楚,,拥有和能不能直接操作到是两个不同的概念 2 公式: 子类 extends 父类 父亲的属性和行为 子类字自动继承; 但是子类不能继承父类的构造方法; 原因1:构造方法的语法要求是方法名必须和类名保持一致. 如果子类继承了父亲的构造,那么子类就会有一个叫父类的名的构造方法. 这一点与构造语法的语法冲突. 原因2: 构造方法的作用是产生对象的.父类和子类是分开的. 3.虽然父类的构造方法没有被子类继承,但在构造子类对象的过程中, 会先在内存中产生父类对象部分,再叠加子类特有部分,从而构造一个完整的子类对象. 也就是说new一个子类对象时,会先调用父类构造,在调用子类构造 类似于"内存叠加的方式" 4.如果子类定义了和父类一模一样的属性,那么子类对象身上会有两个该属性,一个在父类一个在子类   (1) 不应该这么设计,因为设计父类的时候已经考虑了共有,设计子类应该考虑特有. (2) 用super.属性名  代表的是定义在父类部分的同名属性名 (3) 用this.属性名  代表的是定义在子类部分的同名属性名   5.如果子类定义了和父亲一模一样的方法呢? 这叫做方法的"重写' 它是指所有类都有的共同行为,所以我们要定义在父类中 但是,不同的子类又有不同的实现,所以我们需要在子类中重新写一次.   重写要求:方法名必须一致 参数列表必须一致 访问修饰符不能比父类更小 子类重写后的方法不能比父类重写前的方法抛出更多的异常(更多不是指的个数,二十四指的范围) JAVA是单继承   继承的优点: 1.代码的可重用性 2.子类可以扩展父类的属性和方法 3.父亲的属性和方法可用于子类. 4.设计应用程序变得更加简单     方法的重写:子类中的方法与父类中的方法相同(方法名称   参数列表  返回类型) 方法的重载: 一个类中的方法与另一个方法相同,参数列表不同 比较两个对象是否相等 1. == 双等号在比较的时候,始终比较的是左右两端数据的值是否相等. 假如左右两端都是引用数据类型,那么其值是引用变量所指向的对象的地址. 用"=="做比较,引用数据类型比较的是两个变量是够指向一个对象   2.使用equals方法 equals方法在比较的时候,比较的是两个对象在业务在内容上是否相等,而不是物理存放位置(引用值). equals方法时在Object这个类里面预先定义,即认为所有的类都应该有内容比较的方法. 所以这个方法有具体子类的编写者根据业务情况,完成重写. 详情见 lovo.12day.student的更改模式     override 是一种注解类型,这个注解任务是帮助我们在编译期是否是一个正确的重写方法.   toString(); 返回的一个对象的字符串描述, 在对对象直接进行字符串操作的时候,会被直接调用. 比如:直接打印一个对象 toString()同样是在Object中实现.,所以并不能确定每个子类应该用什么字符串描述,只能统一返回. 只能统一返回"全类名@16进制引用"的形势. 如果子类想要有自己的实现,那么就需要进行重写.   finalize() 实现了销毁对象,清理空间,回收资源的功能 由垃圾收集GC调用,完成JAVA所宣称的程序猿无需关心内存清理的特性. finalize()的实现是在Object中实现,调用又是由GC调用. 所以这个方法的设计初衷不是交给我们重写的,就是为了让后面工作.0   finally是语句块,必须和try连用,表示无论是否有异常发生都会执行的语句块   final  finally finalize final是关键字  finally是关键字  finalize是方法. final修饰变量,变量变为常量. final修饰方法,不能被重写,被称之为最终方法. final修饰类,不能被继承.也就是不能产生子类,称之为最终类.终态类 final能不能修饰构造方法,因为构造方法本身就是不可变得.     this.: 指的是当前对象         1.可以访问本类自己定义的属性和行为,不受访问修饰符的限制.         2. 可以访问父类定义的属性和行为,受访问修饰符的限制. this():指的是在本类中的构造方法中调用本类的另一个构造方法.目的: 构造方法中的代码共享         1.只能写在构造方法第一行         2.不会默认执行,必须手写指定. super.: 当前对象的父类对象部分,通俗的讲就是:"我爸"         1.不能访问本来自己定义的属性和行为         2.可以访问父类定义的属性和行为,但是要守访问修饰符的限制 super():         在本类的构造方法中,调用父类指定的构造方法         目的:让父类的构造方法与子类的构造方法达到代码共享的效果.         1. 只能写在子类构造方法的第一行         2. 默认调用父类的无参构造 当我们调用父类对象身上被覆盖的那一部分的时候,用super.,其余时候用this. this()和super()两者都是为了实现构造方法中的代码复用,优化.并不是必须的

标签:java,构造方法,继承,子类,对象,父类,方法,属性
来源: https://www.cnblogs.com/xiaoqiyuexiaoqiyue/p/12014221.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有