• 面向对象三大特性


    面向对象三大特性

    封装

    概念:属性私有化(private),提供setXXX和getXXX。
    作用:保证数据的合理。
    一般情况下,我们的程序设计要追求"高内聚,低耦合"
        高内聚就是类的内部数据操作细节自己完成,不允许外部干涉
        低耦合:仅暴漏少量的方法给外部使用。
    封装的意义: 
    	 1. 提高程序的安全性,保护数据
         2.隐藏代码的实现细节
         3.统一接口
         4.系统可维护增加了
    

    继承

    概念:类与类之间,特征和行为的赠与或获得。
    满足继承关系的前提:二者必须具备is a关系。
    语法:class 子类 extends 父类{}
    创建子类对象 = 父类共性 + 子类独有
    继承的好处:减少代码的冗余,提高代码的复用性。
    继承的特点:
    	java只支持单继承,不支持多继承,但可以多层继承,形成集成体系结构。
        子类继承了父类,就会拥有父类的所有方法
    

    不可被继承

    1.构造方法
    2.private修饰的属性和方法
    3.父子类不在同一个package中,使用default修饰的属性和方法
    

    Object类

    概念:在java中,所有的类都默认直接或间接继承Object类
    特点:
    	1.所有的类要么直接继承要么间接继承。
    	2.所有的对象都可调用Object类中的方法。
    	3.Object可以作为形式参数:能够接收任意对象(引用数据类型)。
    	4.Object可以作为返回值类型:能够返回任意对象(引用数据类型)
    

    super关键字

    用法:
    	super.成员方法():表示调用父类中的成员方法
    	super.属性:表示调用父类的属性
    	super()和super(实参):表示调用父类的构造方法
    注意:如果构造中没有this()或者this(实参)或者super(实参),每一个构造方法中首行都隐式存在super()。
    

    super和this的区别

    代表的对象不同:
    
    	this:本身调用者这 个对象
    
    	super:代表父类对象的应用
    
    前提:
    
    	this:没哟继承也可以使用	
    
    	super:只能在继承条件才可以使用
    
    构造方法:
    
    	this() ; 本类的构造;
    
    	super():父类的构造!
    

    方法的重写

    重写需要有继承关系,子类重写父类的方法!
    重写都是方法的重写,和属性无关
        1.方法名必须相同
        2.参数列表必须相同
        3.修饰符:范围可以扩大但不能    public>Protected>Default>private
        4.抛出的异常:范围,可以被缩小,但不能扩大:ClassNotFoundException --> Exception(大)
    重写,子类的方法和父类必须要一直:方法体
    
    为什么要重写?
    	父类的功能子类不一定需要,或者不一定满足!
    

    多态

    多态就是方法的多态
    一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)
    概念:父类引用指向子类对象。
    注:  父类引用只能调用父类中所定义的属性和方法,子类独有的属性和方法不可调用。
    	二者必须存在继承关系
    多态中的方法覆盖:
    	子类覆盖父类中的方法,使用父类引用调用该方法,执行的是覆盖之后的
    
    多态存在的条件
    1. 有继承关系
    2. 子类重写父类方法
    3. 父类引用指向子类对象
    
    多态的应用
    场景一:父类引用应用在形式参数上,能够接收 本类类型 + 所有子类类型。
    场景二:父类类型应用在返回值类型上,能够返回 本类型 + 所有子类类型。
    好处:
    	降低耦合性
    	屏蔽子类间的使用差异
    
    向上转型、向下转型
    向上转型(装箱):父类引用中保存的是子类对象。
        	装箱:将基本类型用它们对应的引用类型包装起来
    		举例:Animal a = new Dog();
    		注:父类引用只能调用父类中的属性和方法。
    		
    向下转型(拆箱):将父类引用中所保存的真是类型强制转换为自身类型。
        	拆箱:将包装类型转换为基本数据类型
    		举例:Dog d = (Dog)a;
    		注:只有转换为子类真实类型,才可以调用子类中独有属性和方法。
    
    instanceof
    语法:引用 instanceof 类型
    作用:判断引用中保存的真实类型是什么
    
  • 相关阅读:
    Linux用户空间与内核地址空间
    [Linux内存]——内核地址空间
    使用 GDB 调试多进程程序
    Linux GDB常用命令
    GDB常用命令使用
    GDB调试原理——ptrace系统调用
    不可见乱码 怎么消除
    Vue use的理解
    Element-UI 下边框,表格错位问题
    sort 排序传递更多参数
  • 原文地址:https://www.cnblogs.com/lhy8116/p/14186229.html
Copyright © 2020-2023  润新知