• Java学习 · 初识 面向对象深入一


    面向对象深入

    1.面向对象三大特征

    a) 继承 inheritance

          子类可以从父类继承属性和方法

          子类可以提供自己的属性方法

    b) 封装 encapsulation

          对外隐藏某些属性和方法

          对外公开某些属性和方法

    c) 多态 polymorphism

          适应变量的多种变化

    1.1 封装

    a)   为什么需要封装

    隐藏对象内部的复杂性,只对外公开简单接口。便于外界调用,提高系统可扩展性、可维护性;

     

    b)   实现封装

    使用访问权限符

    成员四种访问权限

    1. public 公共的

    项目可见

    1. protected 受保护的

    类本身访问

    包内其他类访问

    子类访问

    1. default 默认的(包可见)

    类本身访问

    包内其他类访问

    1. private 私有的

    只被这个类本身访问

    类的两种访问权限

    1. public

    项目中所有类访问

    1. default

    同一个包内的类访问    

    封装要点

    1. 类的属性的处理

    a)     一般使用private,除非需要子类继承

    b)    提供get/set访问属性,通常方法为public

    c)     只用于本类的辅助方法 private

    d)    希望其他类调用的方法public

    1.2        继承

    定义:类是对对象的抽象,继承是对一批类的抽象

    意义:提高代码复用性

     

    public class TestExtend {

         public static void main(String[] args) {

              Mammal a = new Mammal();

              a.eat(); //从父类继承了eat();

              a.pure();

         }

    }

    public class Animal{

         String name = "小脑斧" ;

         int age = 2;

         public void eat() {

              System.out.println("吃饭");

         }

    }

    public class Mammal extend Animal{

         public void pure() {

              System.out.println("吃奶");

         }

    }

    其他

    1. Java只有单继承
    2. 所有类的公共父类为Object

    1.3      方法的重写

     

    a)   == 方法名、参数相同

    b)   <= 返回值类型和异常类型子类小于父类

    c)    >= 访问权限子类大于父类

    Object类

    Object类是所有类的基类,其中含有许多方法

    1.示例:重写toString (默认返回包+类+@哈希码)

    1. 2.    对象的比较 == 与equal

    a)     ==

    a)   比较两基本变量的值是否相同

    b)   比较两个引用类型内存是否相同,是否指向同一对象

    b)    Equal

    a)   两对象内容是否相同

    1.4      super关键字

    b)   super是直接父类对象的引用

    c)    可以通过super来访问父类中被子类覆盖的属性和方法

    1.5      多态

    多态性是OOP中一个重要特性,用来实现动态联编,就是程序的最终状态只有再执行过程才被决定而非编译期间决定

    1. 如何使用多态

    a)     引用类型的两种类型

                                        i.           编译时类型:声明时的类型决定

                                      ii.           运行时类型:由对象实际类型决定

    b)    多态存在的三个必要条件

                                        i.           要有继承

                                      ii.           要有方法重写

                                    iii.           父类引用指向子类对象

    示例  

     

    注意:引用类型的类型转换

    1.6        final关键字

    1. final关键字可以来修饰变量、类、方法

    a)     修饰变量:相当于定义了一常量,不可更改

    b)    修饰方法:在子类中不能覆盖

    c)     修饰类:无法被继承

  • 相关阅读:
    vue 5 父子组件及组件间数据传递 学习代码片段
    微信小程序设置数组对象的值
    微信小程序样式拼接 类名三元运算 以及条件拼接
    超简易 消息通知滚动 pc移动适用
    js 批量监听-序号的闭包问题
    docker基础
    mysql
    mongodb
    django-restframework_认证
    SSM 整合
  • 原文地址:https://www.cnblogs.com/secoding/p/9495914.html
Copyright © 2020-2023  润新知