zoukankan      html  css  js  c++  java
  • 面向对象

     面向过程   : 在方法上复用

    面向对象:   封装方法,在对象上重复使用

    面向对象的设计思想:从现实世界中客观存在的事物出发来构造软件系统,并在系统中构造尽可能运用人类的自然思维方式

    定义引用类型变量首先会在栈内存分配一个空间(空值),当我们赋予这个变量值,会在堆内存,划分一个空间,并且赋予一个值。 通过变量去访问这个值,栈内存的变量值用完就会消失,堆内存的值会等一会被垃圾回收机制回收,,而返回值是临时分配一个存储空间,当方法返回之后,临时内存空间就消失

    值传递:在调用方法时,将实参值的备份传递到了方法内部,方法内部对形参值的改变不会影响到实参的值

    引用传递:在调用方法时,将实参对象的引用地址传递到方法内部,由于实参和形参指向的是同一个对象,方法内部对形参对象的改变会影响到实参对象

    方法重载:方法名一样,没有返回值,变量类型不同,变量个数不同

    方法重写:发生在父子类中,方法名相同、参数列表相同

    构造方法:方法名和类名相同,有返回值

    权限修饰符

    1.public:公开的本类    子类        本包     他包  

     2.protected:受保护的本类    子类        本包

     3.default:默认的本类  本包子类    本包

    4.private:私有的本类

    继承: 

    关键字:extends

            java中的继承是单继承

    在使用子类构造方法创建对象时,默认会先调用所有直接和间接父类的构造方法

            可以在子类构造方法中,使用super关键字调用父类的无参构造或者有参构造,并且必须是子类的构造方法的第一行代码。

     由于调用子类构造方法,只能声明子类中的成员属性,父类中的成员属性无法声明,所以默认强制会在调用子类构造方法之前去调用父类构造方法。

    super关键字:

    1.指代父类对象

    2.可以调用父类的方法

    3.可以调用父类的属性

      4.super();调用父类无参构造

     5.super(参数列表);调用父类有参构造

     ==和equals的区别

    1,前者是运算符,后者方法

    2.前者可以适用于基本数据类型和引用数据类型,后者只能用于引用数据类型

     3.前者用于基本数据类型,判断的是基本数据类型的值相等。

      4.前者用于引用数据类型,判断的是引用数据类型的内存地址。

     5.后者用于引用数据类型,如果没有重写hashCode方法和equals方法,则判断的是地址,和前者类同。

      6.后者用于引用数据类型,如果重写了hashCode方法和equals方法,则判断的是对象的内容。

             

    hashCode和equals的关系

     1.如果两个对象用equals方法判断相等,那么他们的hashCode结果一定相等。

     2.如果两个对象用equals方法判断不相等,那么他们的hashCode结果可以相等也可以不相等。

    3.如果两个对象的hashCode结果不相等,那么他们用equals方法判断一定不相等。

      4.如果两个对象的hashCode结果相等,那么他们用equals方法判断可以相等也可以不相等。

  • 相关阅读:
    关于json字符串与实体之间的严格验证
    SQL Pretty Printer 一款值得你拥有的MSSQL格式化插件
    ABP增加记录EFCore 生成数据库脚本日志到新的txt文件
    Multiple types were found that match the controller named 'Auth'.
    sqlserver 交叉去重
    sqlserver分组排序取前三条数据
    C# 读取.resx资源文件写入到json文件中
    SqlServer根据经纬度排序
    .net core 简单定时程序
    使用游标,查询一张的数据往另外三张表里面添加数据
  • 原文地址:https://www.cnblogs.com/mihich/p/13023289.html
Copyright © 2011-2022 走看看