java学习-2
1 方法去掉重复的遍历数组九九乘法表方法的诀窍方法的重载和总结2 Java的原理篇java内存分配的规则main在方法区只是临时的存储 在使用的时候会调用到栈内存里面所以不影响实参 还是10和20数组的内存分配int[ ]arrnew int [ ] {1,2,3}; 所以也有堆内存因为数组传递的是地址 所以可以进行修改3 算法训练删除数据输出val红包问题中位数多数据统计接雨水先进行从左边看的时候雨水留下的 然后再从右边看剩下的 然后进行结合取最小值最后去掉柱子的数量大乐透创建随机的彩票号码选择买的号码进行打印判断中奖的数量进行判断中奖的等级4 二维数组综合案例因为调用的是int[ ] [ ] 为二维数组 所以传入的是int[ ] [ ] arry5.面向对象或者对象到底是什么1 构造器构造器也可以进行重载无参构造器是进行t1.name和t1.age2 this关键字this指的是对象 所以当s3.name777 所以对象为777 this.name指的是这个的对象3 封装类就是封装 把数据和对数据的处理方法进行封装到了一起 可以直接进行调用外面不可以进行赋值4 javabean-特殊类-实体类5 static关键字6.static的修饰方法同一个类里面可以直接访问 因为在同一个类里面 所以可以省略string[ ] args其实没什么作用7.静态方法的应用因为不同的文件都需要使用 所以可以把这个一样的变成工具类8 static的注意事项静态和实例的区别9.综合实例先设置电影类6.继承1.继承是什么2.权限修饰符其他包其他包的子类3.继承后的特点.hashCode是object的功能4.方法的重写123私有方法不能继承 所以不能重写 静态属于父类自己调用 所以也不能重写5.重写的应用6.子类构造器的特点私有的父类不可以进行调用问题发现如果单纯的进行创建子类的数据 会没有创建成功 输出的是空的是因为people的name和sex是在父类里面 需要把name和sex的实例送到父类里面技能在子类 所以需要在子类里面使用this进行确认而name和sex把数据通过父类送过去 说明子类可以把子类继承自父类的这部分数据也完成初始化赋值但是除了这个之外可以通过使用set方法进行创建数据这样就不用进行以上的方法了7.this(...)调用兄弟构造器默认黑马程序员使用this调用兄弟构造器this必须在第一行 因为需要使用兄弟构造器 super也是必须在第一行 需要先调用父类构造器7.多态1.认识多态对象多态比如一个人既可以是老师也可以是学生行为多态比如在课上听课的时候有的人在打游戏有的人在听课小范围的狼可以给到动物类型的 因为狼继承的动物编译的时候看动物里面有没有run 但是运行的时候运行的是狼的run 如果动物里面没有run会直接进行报错但是使用成员变量的时候是输出的动物2.多态的好处解耦合指的是当老师不好用的时候 可以立马的换成学生 用来提高扩展和维护这样的话就只能接入一个而这样就可以了 因为编译的时候看animal 但是真正输出的时候使用的传入的对象问题多态下不能调用子类的独有功能3.多态下的类型转换问题强制的把动物类型的转换为乌龟类型进行强制的类型转换 可以解决不能调用子类的独特功能这个毛病4.综合案例-支付模块创建cardlombok技术9是无参构造器 10是有参构造器创建金卡可以使用this将money进行调用或者使用setMoney进行刷新创建银卡创建支付机除了创建卡片 还需要在金卡里面进行写入构造器 因为要调用爸爸的构造器 所以需要使用super银卡也是一样的进行消费因为金卡和银卡都有自己的消费方法但是钱不够的时候需要进行判断银卡也一样