摘要: 动态数组(Dynamic Array)接口设计: 加不加static ,如果加可以通过类来调用方法名,不加需要new一个来调用 阅读全文
posted @ 2020-08-15 09:16 nkndlawn 阅读(80) 评论(0) 推荐(0)
摘要: super注意点: super调用父类的构造方法,必须在构造方法的第一个 super 必须只能出现在子类的方法或者构造方法中; super 和 this 不能同时调用构造方法 super VS this: 代表对象不同: this:本身调用者的这个对象 super:代表父类对象的应用 前提: thi 阅读全文
posted @ 2020-08-14 19:57 nkndlawn 阅读(170) 评论(0) 推荐(0)
摘要: student 想用人,除了继承还可以组合 组合,只是相当于student里包含了person 继承: 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。 extands的意思是“拓展”。子类是父类的拓展。 Java中类只有单继承,没有多继承! 继承是类和类之间的一种关系。除此之外,类和类 阅读全文
posted @ 2020-08-13 11:23 nkndlawn 阅读(158) 评论(0) 推荐(0)
摘要: 封装: 该露的露,该藏的藏 我们程序设计要追求“高内聚、低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用。 封装(数据的隐藏) 通常,应该禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。 记住这句话就够了:属性私有, 阅读全文
posted @ 2020-08-12 09:46 nkndlawn 阅读(135) 评论(0) 推荐(0)
摘要: fib函数的时间复杂度分析: 阅读全文
posted @ 2020-08-12 08:52 nkndlawn 阅读(149) 评论(0) 推荐(0)
摘要: 时间复杂度(time complexity):估算程序指令的执行次数(执行时间) 空间复杂度(space complexity):估算所需占用的存储空间 大O的意思就是估算 复杂度: 注意:大O表示法仅仅是一种粗略的分析模型,是一种估算,能帮助我们短时间内了解一个算法的执行效率。(估算一下这个程序, 阅读全文
posted @ 2020-08-11 15:21 nkndlawn 阅读(183) 评论(0) 推荐(0)
摘要: package com.oop; public class Application { /* 1、类与对象 类是一个模板:抽象,对象是一个具体的实例 2、方法 定义、调用 3、对象的引用 引用类型: 基本类型(8) 对象是通过引用来操作的: 栈 >堆(地址) 4、属性:字段Field 成员变量 默认 阅读全文
posted @ 2020-08-11 14:40 nkndlawn 阅读(79) 评论(0) 推荐(0)
摘要: 创建对象内存分析: 堆里包含方法区: 代码示例: 主main: package com.oop.Demo03; public class Application { public static void main(String[] args) { Pet dog = new Pet(); dog.n 阅读全文
posted @ 2020-08-10 21:20 nkndlawn 阅读(64) 评论(0) 推荐(0)
摘要: 在.class文件中是有无参构造的,虽然在.java文件里没有生成无参构造 Person.java package com.oop.Demo02; //java > class public class Person { String name; //实例化初始值 //1.使用new关键字,本质是在 阅读全文
posted @ 2020-08-09 12:27 nkndlawn 阅读(159) 评论(0) 推荐(0)
摘要: 如果单从执行效率上进行评估,可能会想到这么一种方案 比较不同算法对同一组输入的执行处理时间 这种方案也叫做:事后统计法 上述方案有比较明显的缺点 执行时间严重依赖硬件以及运行时各种不确定的环境因素 必须编写相应的测算代码 测试数据的选择比较难保证公正性 一般从以下维度来评估算法的优劣 正确性、可读性 阅读全文
posted @ 2020-08-08 19:09 nkndlawn 阅读(1185) 评论(0) 推荐(0)