| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 【深入学习】封装、继承和多态 -> 正文阅读 |
|
[Java知识库]【深入学习】封装、继承和多态 |
对象的创建和构造方法:构造方法: 1.构造方法没有返回值, 2.使用new的时候自动使用构造方法 3.创建对象时自动调用 4.如果定义了构造方法,java不再赠送无参构造方法。 语法:创建对象:xxx? x=new xxx(); this关键字: 表示当前类的对象(接收对象),在调用方法时,java会自动把对象传递给方法在方法中接收对象,this可以帮助区分成员变量和局部变量。 方法的查找顺序:先找自己的方法内,没有就去this里面找,this可以在内部获得对象的属性信息。 setter and getter: 格式: public void setName(参数){}this.name=name;}??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? public?? void getName(){ return this.name;}??????????????????? 封装:封装的概念:将数据和操作数据的方法进行有机结合,隐藏对象的属性(成员变量)和实现细节,仅对外公开接口来和对象进行交互。 封装的意义;对不想对外公开的数据和方法进行私有化(private),对外实现一个公开的方法可以访问私有的属性,简单来说就是把不想外人看到的内容包起来,例如计算机靠cpu、显卡等软硬件运行,但用户只看得到显示器运行的结果,看不到运行的实际情况。 各个访问权限符的作用范围如下表: private(保护成员变量被胡乱赋值)。如何使用封装:一般会将成员变量用private修饰,成员方法会用public来修饰。但是在具体使用中还是要看该类中的成员变量要给什么类进行使用,如果是子类(在后面继承中有什么是子类),就用protected;如果该成员变量需要给所有类都要访问,就设置为public;只有合适地使用修饰符,成员才能有好的封装性。 封装的实例: char c=new char(); 继承:继承就是指子类继承父类的属性,并在其基础上添加的过程。 继承的一般格式:publi 子类名 extends 父类名{ 有参构造时使用super关键字表示父类的内容} 继承的意义和作用:1.私有内容是不能继承的?? 2.作用:简化代码开发 多态:多态性是对象多种表现形式的体现。例如人类是一个大类,你和我是其中一个对象,但你和我并不是完全一样存在着一定的差异。 多态的前提和实现:1.存在继承/实现的关系????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? 2.有方法重写?????????????????????????????? ???????????????????????????????? 3.由父类指向子类 例如 Animal? a=new Cat();????????????????????????? ???????????????????????????????? 4.编译看左边,执行看左边,成员方法编译看左边,执行看右边; 多态的好处和弊端: 好处;提升程序的延展性????????????????????????????????? 弊端:无法访问子类特有的方法 多态的转型: 向上转型:从子到父,父类引用指向子类对象 例如:Animal a=new Cat(); 向下转型:Cat c=(Cat)a; instanceof关键字:语法:xx instanceof 类?? 作用:判断对象是不是某个类的实例。 注意:只有非静态的方法和属性才具有多态的性质,静态方法和静态的属性不涉及重写,所以没有多态。运用三大特征的例子:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:39:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |