•   该问题依赖于里氏代换原则, 先记录下该原则的原理  里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用

    Read more

  • java面向对象的构造函数

    栏目:java 时间:2019-09-10 22:06

    当使用new来创建一个对象的时候,其实是调用了一个函数,这个函数的名称叫做构造函数构造函数的特点:1.构造函数的名称必须和类名完全一致,包括大小写。2.构造函数不写返回值,不写返回值意味着连void都不写。3.如果开发人员

    Read more

  • java中继承与构造函数之间的关系

    栏目:java 时间:2019-09-10 18:27

    继承的对象会保存父类的成员,也包括父类所声明的变量。因此,在创建子类的新对象时,所有继承下来的构造函数也会被执行。执行子类的构造函数会先触发父类的构造函数,连锁反应一直到最上层的父类构造函数。父类的构造函数必

    Read more

  • 简单工厂、工厂方法与抽象工厂的区别

    栏目:java 时间:2019-08-17 21:57

    前言为什么会出现工厂,工厂方法与简单工厂还有抽象工厂到底有啥区别,什么时候能用到这些呢,如果你对于这些不是很清晰,那么你可以看看小编的这篇博客!这里所有的类图均用基本算法为例子,这样会有明显的对比!一、简单工厂模式

    Read more

  • Java 到底是值传递还是引用传递?

    栏目:java 时间:2018-04-19 17:47
    Java 到底是值传递还是引用传递?

    作者:Intopass首先,不要纠结于 Pass By Value 和 Pass By Reference 的字面上的意义,否则很容易陷入所谓的“一切传引用其实本质上是传值”这种并不能解决问题无意义论战中。 更何况,要想知道Java到底是传值还

    Read more

  • 一:java中数据类型分为两大数据类型:1基本数据类型;2引用数据类型二:注意事项:1:java开发过程中整型用int、小数用double、布尔用boolean;2:类型转换都是小范围向大范围转换,大范围往小范围转化需要用到强制转换; 例如:(1)int

    Read more

  • 方法区:类信息、类变量(静态变量和常量)、方法 堆:对象、成员变量 栈:局部变量 (1)当程序运行时,首先通过类装载器加载字节码文件,经过解析后装入方法区!在方法区中存了类的各种信息,包括类变量、常量及方法。对于同一个方法

    Read more

  • 今天复习java时,突然注意到了一句以前没有注意过的一句话,String 是final修饰的,其值是不可变的。当时看的一脸懵逼,String str = "abc"; str = "abcde"这两行代码没有任何的错误的。上网百度了许久,还是整理下来防止以后

    Read more

  • String类型比较特殊 java中的方法可以传递参数,参数的传递方法就是值传递。参数有形参和实参,定义方法时写的参数叫形参,真正调用方法时,传递的参数叫实参。调用方法时,会把实参传递给形参,方法内部其实是在使用形参。所谓

    Read more

  • 数组的初始化之---静态初始化和动态初始化

    栏目:java 时间:2018-04-14 14:32

    java中创建数组,数组是以对象的形式出现的,任务:用不同方法定义一个长度为5的二维数组。方法一:{//动态初始化int[] arr1 = new int[5]; //声明、创建arr1[0] = 0;//初始化arr1[0] = 1;arr1[0] = 2;arr1[0] = 3;arr1[0] =

    Read more