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方法判断可以相等也可以不相等。

  • 相关阅读:
    SQL如何对时间戳字段按日期排序
    PHP书写SQL换行
    SQL修改字段
    SQL新增一个字段
    HTML加JS实现点击切换“观看”与“收起”效果切换
    盐:深沉的慢动作 让电影“支离破碎”
    笔:最终会走在一起吗
    笔:那个下午
    关于国内安装百夫长开源网站统计进度过慢的问题
    Java Web系列之JDBC
  • 原文地址:https://www.cnblogs.com/mihich/p/13023289.html
Copyright © 2011-2022 走看看