面向对象知识点整理(3)

关键字

1.this

this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。

作用

a.实现构造方法之间的调用

this(参数列表)

b.解决成员变量与局部变量的同名问题

this.成员变量

2.super

super可以理解为是指向自己超父类对象的一个指针,而这个父类指的是离自己最近的一个父类。

作用

a.调用父类的构造方法

super(参数列表)

b.直接引用父类的成员

super.xxx

注意事项

1.子类构造方法中有一句隐式的super();

2.当父类中没有空参数构造方法时,子类的构造方法必须有显示的super语句,指定要访问的父类有参数构造方法。(最好在类中写一个空参构造防止报错);

3.在构造方法中super 和 this 不能  同时显式  调用;因为两个关键字都要放在第一行

若果构造方法中第一行用this()调用了其他构造方法,此时super()的隐式调用不存在了;

4.this()和super()都指的是对象,所以,均不可以在static环境中使用。

3.static

概念

static它是静态修饰符,一般用来修饰类中的成员。

特点

1. 被static修饰的成员变量属于类,不属于这个类的某个对象。(在静态区内,先于对象加载)

也就是说,多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟着改变,即多个对象共享同一个static成员变量

2.被static修饰的成员可以并且建议通过类名直接访问。

注意事项

1.静态只能访问静态(秦始皇不知道MZD)

2.静态中不能使用this和super (在静态区内,先于对象加载)

3.被静态修饰的方法可以被子类继承,但是无法被重写,如果强行重写相当于子类独有的方法

4.final

概念

final是个修饰符,它可以用来修饰类,类的成员,以及局部变量。不能修饰构造方法。

特点

1.final修饰类不可以被继承,但是可以继承其他类。

2.final修饰的方法不可以被子类重写,但父类中没有被final修饰方法,子类重写后可以加final。

3. final修饰的变量称为常量,这些变量只能赋值一次。而且终身不变。

4.引用类型的变量值为对象地址值,地址值不能更改,但是地址内的对象属性值可以修改。

5.修饰成员变量,需要在创建对象前赋值,否则报错。(当没有显式赋值时,多个构造方法的均需要为其赋值。)

原文地址:https://www.cnblogs.com/lxzwhite/p/10900953.html

时间: 2025-01-18 17:38:34

面向对象知识点整理(3)的相关文章

面向对象知识点整理(2)

抽象类 概念 当定义了抽象函数的类也必须被abstract关键字修饰,被abstract关键字修饰的类是抽象类. 抽象类的特点 1.抽象类和抽象方法都需要被abstract修饰.抽象方法一定要定义在抽象类中. 2.抽象类不可以直接创建对象,原因:调用抽象方法没有意义. 3.只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象.否则该子类还是一个抽象类. 注意:abstract 不可以与 private  final  static共存 接口 接口概念 接口是功能的集合, 接口只描述所应该具备

面向对象知识点回顾整理

目录 面向对象知识点回顾整理 一.面向对象基础 1.类和对象 2.属性查找: 3.绑定方法: 4.对象之间的交互: 5.类的内置属性 6.三大特性:继承.多态.封装 二.面向对象高阶 元类 单例模式 面向对象知识点回顾整理 一.面向对象基础 面向对象编程的核心是对象二字,对象是属性与方法的结合体,python中一切皆对象. 优点:可扩展性强 缺点:编程的复杂度高 1.类和对象 对象:属性和方法的结合体 类:一堆属性和方法的结合体 python中是先有类再有对象,现实生活中是先有对象再有类 类名(

数据库设计教程系列——相关知识点整理

一.教程概述 此数据库设计教程是笔者参考网上资料.相关书籍,以及加上自己多年做数据库设计相关工作的经验积累写就. 数据库设计教程在网上已经有大量类似的资料,并且该领域有不少专业书籍,珠玉在前,心有戚戚. 但这作为唯心六艺之一,我还是希望能够在整理知识的同时,写出自己的一些内容,如果能够对读者 有所帮助,那就最好不过了,谢谢. 本教程主要基于关系型数据库进行讲解,对于维度数据库也会视情况有所涉猎. 下面是整个教程涉及的知识点整理,在撰写教程的过程中,如果有改动,也会调整更新此图. 二.知识点整理

asp.net mvc 3.0 知识点整理 ----- (2).Controller中几种Action返回类型对比

通过学习,我们可以发现,在Controller中提供了很多不同的Action返回类型.那么具体他们是有什么作用呢?它们的用法和区别是什么呢?通过资料书上的介绍和网上资料的查询,这里就来给大家列举和大致的概括下. (1). ActionResult(base):最基本的Action类型,返回其他类型都可以写ActionResult. (2). ContentResult:返回ContentResult用户定义的内容类型. public ActionResult Content() { return

【知识点整理】Oracle中NOLOGGING、APPEND、ARCHIVE和PARALLEL下,REDO、UNDO和执行速度的比较

[知识点整理]Oracle中NOLOGGING.APPEND.ARCHIVE和PARALLEL下,REDO.UNDO和执行速度的比较 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 系统和会话级别的REDO和UNDO量的查询 ② NOLOGGING.APPEND.ARCHIVE和PARALLEL下,REDO.UNDO和执行速度的比较(重点)   Tips: ① 本文

【Android 面试基础知识点整理】

针对Android面试中常见的一些知识点整理,Max 只是个搬运工,感谢本文中引用文章的各位作者,给大家分享了这么多优秀文章,对于其中的解析,是原作者个人见解,有错误和不准确的地方,也请大家积极指正. 本文将持续更新,同时我也将其放在Github上:Point-of-Android 同时可以看Max的个人博客:海上钢琴师 Android中的异步任务机制 Android中AsyncTak的使用与源码分析 http://blog.csdn.net/bboyfeiyu/article/details/

·DP」知识点整理

一.最长公共子序列(LCS Longest Common  Subsequence) 第一,先说区别,最长公共子串和最长公共子序列是不一样的. 最长公共子串不许是连续的,而最长公共子序列可以是不联系的. 网络上解释的子序列: 一个字符串S,去掉零个或者多个元素所剩下的子串称为S的子序列.最长公共子序列就是寻找两个给定序列的子序列,该子序列在两个序列中以相同的顺序出现,但是不必要是连续的. 例如 X=ABCBDAB Y=BDCABA BCA是X和Y的一个公共子序列,但是不是X和Y的最长公共子序列,

Python--matplotlib绘图可视化知识点整理

Python--matplotlib绘图可视化知识点整理 强烈推荐ipython 原文:http://michaelxiang.me/2016/05/14/python-matplotlib-basic/ 无论你工作在什么项目上,IPython都是值得推荐的.利用ipython --pylab,可以进入PyLab模式,已经导入了matplotlib库与相关软件包(例如Numpy和Scipy),额可以直接使用相关库的功能. 本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找.

asp.net mvc 3.0 知识点整理 ----- (4).HtmlHelper(Html 辅助方法)介绍

在View视图中,Html的类型是System.Web.Mvc.HtmlHelper<T>, 所有的辅助方法都需要和ModelState交互.那么,ModelState是什么呢?它是模型绑定的附属品,并且存有模型绑定期间检测到的所有验证错误.以及用户提交用到来更新模型的原始值.本篇博文,我们主要来介绍下一些常用的html辅助方法的主要作用和使用方法. 1. Html.BeginForm()和Ajax.BeginForm().   Html.BeginForm(): 同于传统的表单提交,主要是生