Java面向对象三大特性归纳

来源:互联网 发布:螨虫与痘痘的知乎 编辑:程序博客网 时间:2024/05/16 10:47

Java面向对象三大特性归纳

-封装

-继承

-多态

封装

-将类的某些信息隐藏在类 , 外部程序直接访问,而是通过类提供的方法来实现对隐藏信息的操作和访问

好处

-只能通过规定的方式访问数据

-隐藏类的实例细节,方便修改和实现

实现步骤

-修改属性可见性——private

-创建getter/setter方法——用于属性的读写

-在getter/setter中加入属性控制语句——对属性合法值进行判断

-管理Java文件

-解决同名冲突

访问修饰符

-private——本类中使用

-默认——本类额相同包中使用

-protected——本类、同包、子类

-public——都可以访问

this关键字

-指代当前对象

内部类

-内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。

内部类的主要作用

  1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

  2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

  3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便

内部类分类

-成员内部类

-静态内部类

-方法内部类

-匿名内部类

继承

-Java单继承

方法的重写

-子类可以重写继承自父类的方法

-当方法调用时会优先调子类的方法

方法重写的语法规则

-返回值类型相同

-方法名相同

-参数类型及个数相同

初始化顺序

-先初始化父类再初始化子类

-先执行初始化对象中的属性,在执行构造方法中的初始化

final关键字

-修饰类时,类不允许被继承

-修饰方法时,方法不允许呗覆盖

-修饰属性时,属性不会进行隐式初始化(即初始化属性必须有值)或在构造方法中赋值(两者2选1)

-修饰变量时,该变量的值只能赋值一次,随即变化为常量

super关键字

-在子类中指代父类对象

-子类构造时会调用父类的构造方法

-若子类的构造方法中没有显式的调用父类的构造方法,则系统默认调用无参的构造方法

-super()关键字必须放在子类构造方法第一行

-若子类的构造方法中没有显式的调用父类的构造方法,而父类没有无参的构造方法,则编译报错

Object类

-所有类的父类

-toString()输出哈希码,标识唯一对象,常按需求重写

-equals()比较对象是否指向同一个内存,即是否是同一个对象,常按需求重写

多态

-继承是实现多态的基础

-对象具有多种形态

-引用的多态

父类即可指向本类的对象,又可指向子类的对象

-方法的多态

调用子类方法或本类方法

引用类型转换

-自动(向上)类型转换,小类型到大类型

-强制(向下)类型转换,大类型到小类型,编译不会出问题但运行时可能会出问题

-instanceof运算符(返回布尔值),来解决引用对象的类型,避免转换的安全性问题

抽象类

-abstrac关键字

-约束子类必须实现某些方法

-只需要声明不需要实现

-包含抽象方法则必须为抽象类

-可以指向子类对象

接口

-interface关键字

-定义实现这个接口的类所要实现的规范

-接口可以继承多个父接口

-定义的属性为常量

-接口中的方法都是抽象方法

-继承父类要在实现接口之前

-匿名内部类的实现

0 0
原创粉丝点击