美文网首页
面向对象2

面向对象2

作者: vv_64ce | 来源:发表于2020-04-08 22:54 被阅读0次

封装性

1.高内聚,低耦合:
高内聚:类内部数据操作细节不允许外部干涉
低耦合:对外暴露少量的方法
2.修饰类:只能使用public和缺省

构造器(或构造方法):创建对象、初始化对象属性

1.没有显示定义类的构造器,则系统默认提供一个空参构造器
2.一个类中的多个构造器彼此构成重载
3.显示定义类的构造器后,系统就不再提供默认的空参构造器
4.一个类中,至少一个构造器

属性赋值的先后顺序(123只执行一次,4可以反复执行)

1.默认初始化
2.显示初始化
3.构造器中初始化
4.通过“对象.方法”或“对象.属性”的方式赋值

this

1.修饰:属性、方法、构造器
2.表示当前对象:在类方法中,可以使用“this.属性”或“this.方法”调用当前对象的属性和方法;通常情况下this省略,当出现方法形参和类属性重名时,必须显示引用“this.变量”,表明此变量是属性而非形参

继承性

Java只支持单继承和多层继承

重写

对子类从父类继承过来的方法进行改造,也称为重置、覆盖
1.子类权限可以大于父类,但子类不能重写父类的private方法
2.重写的方法是同名同参
3.父类返回值是void,子类也是void;父类是基本数据类型,子类也必须是相同的基本数据类型;父类是A类型,子类可以A类型或A类型的子类
4.子类抛出的异常不大于父类的异常
5.子父类中的同名同参方法要么都声明为非static(考虑重写);要么都为static(不是重写,因为static方法是属于类的)

super关键字

1.父类的
2.调用属性和方法:当子类重写父类的方法后,要在子类中调用父类中被重写的方法,必须使用“super.方法”
3.调用构造器:super必须在子类构造器首行;类的构造器中,this和super只能选一个

子类对象实例化过程

1.从结果看:继承性
子类继承父类后,就获取了父类中声明的属性或方法;创建子类的对象,在堆空间中,就会加载所有父类中声明的属性
2.从过程看:
子类构造器创建子类对象时,会加载完所有父类结构,但自始自终都只是创建了一个new的子类对象。

多态性

1.一个事物的多种形态
2.对象的多态性,即父类的引用指向子类的对象(或子类的对象赋给父类)
3.多态的使用,编译期,只能调用父类中声明的方法,但运行时,实际执行的是子类重写父类的方法(编译看左,运行看右)
4.使用前提:类的继承关系;方法的重写
5.多态性只适用于方法,不适用于属性(编译运行都看左边)

重载是静态绑定(方法调用之前,就已经确定要调用的方法),重写是动态绑定(方法调用时才会确定要调用的具体方法)

向下转型:使用强制类型转换符

图片.png

1.使用强转时,可能出现ClassCastException异常,使用instanceof关键字,判断对象是否相同,返回true,则向下转型
2.若a instanceof A为true,则a instanceof B也为true;其中B是A的父类
instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例

相关文章

  • JS面向对象

    JS面向对象入门 1、面向对象语言概念面向对象语言主要包括 类、对象、封装、多肽。2、面向对象的编程思想面向过程思...

  • 面向对象基础

    一、面向对象概述 1、面向对象编程包括: OOA:面向对象分析OOD:面向对象的设计OOP:面向对象的编程实现 2...

  • web-js-内置对象 面向对象

    内置对象 1、document 2、location 3、Math 面向对象 面向过程与面向对象编程 创建对象的方...

  • 第十二天学习Java(面向对象)

    2、2面向对象和面向过程 面向对象(OOP) 不是一种语言,而是一种思想 面向对象程序设计:(Object Ori...

  • 面向对象

    1.面向对象理解 2.面向对象关系图

  • 【技术贴】java面向对象的基本概念

    java面向对象概述 一,面向过程与面向对象 1,程序的发展经历了两个主要阶段:面向过程、面向对象。 2,对于面向...

  • ES6面向对象

    1、ES6面向对象: class(类) 构造函数 对象 实例对象 ES5面向对象是模拟面向对象。 2、继...

  • 8.面向对象基础

    1.什么是面向对象 2.应该如何学习面向对象 3.面向对象的思维方式 什么是面向对象 1.面向对象是一种编程方法;...

  • 面向对象——封装

    面向对象(复习) 1.面向对象——一种编程思想 2.面向对象的开发步骤 a)OOA:面向对象的需求分析_分析解决问...

  • 面向对象——封装

    面向对象(复习) 1.面向对象——一种编程思想 2.面向对象的开发步骤 a)OOA:面向对象的需求分析_分析解决问...

网友评论

      本文标题:面向对象2

      本文链接:https://www.haomeiwen.com/subject/uxbtmhtx.html