08 2020 档案

摘要:非静态的方法可以调用静态方法里的所有东西,静态方法里可以调用静态方法的,但是不能直接调用非静态方法的 1.static静态属性与方法 package com.oop.demo09; //static public class Student { private static int age; //静 阅读全文
posted @ 2020-08-31 14:32 nkndlawn 阅读(105) 评论(0) 推荐(0)
摘要:instance of: 判断一个对象与另一对象是否有父子关系 instanceof 是一个比较转化的过程,如果两边有关系返回true,如果没有关系返回false和编译器报错 (类型转换) 引用类型 instance of例子如下 package com.oop.Demo06; public cla 阅读全文
posted @ 2020-08-26 22:23 nkndlawn 阅读(262) 评论(0) 推荐(0)
摘要:多态 动态编译:类型—>可扩展性 即同一方法可以根据发送对象的不同而采取不同的行为方式。 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多 (父类,有关系的类) 多态存在的条件 有继承关系 子类重写父类方法 父类引用指向子类 注意:多态是方法的多态,属性没有多态性。 instanceof 阅读全文
posted @ 2020-08-16 15:32 nkndlawn 阅读(173) 评论(0) 推荐(0)
摘要:static 在不同方法里调用看看什么情况?? 静态和非静态,(有没有static): 加了static有两种调用的方法: 不加static有两种调用的方法: 1.也就是说加了static,静态方法,出现的早,直接用'类名加方法名调用'或'new一个对象来调用' 2.不加static,非静态方法,需 阅读全文
posted @ 2020-08-15 10:25 nkndlawn 阅读(108) 评论(0) 推荐(0)
摘要:动态数组(Dynamic Array)接口设计: 加不加static ,如果加可以通过类来调用方法名,不加需要new一个来调用 阅读全文
posted @ 2020-08-15 09:16 nkndlawn 阅读(82) 评论(0) 推荐(0)
摘要:super注意点: super调用父类的构造方法,必须在构造方法的第一个 super 必须只能出现在子类的方法或者构造方法中; super 和 this 不能同时调用构造方法 super VS this: 代表对象不同: this:本身调用者的这个对象 super:代表父类对象的应用 前提: thi 阅读全文
posted @ 2020-08-14 19:57 nkndlawn 阅读(173) 评论(0) 推荐(0)
摘要:student 想用人,除了继承还可以组合 组合,只是相当于student里包含了person 继承: 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。 extands的意思是“拓展”。子类是父类的拓展。 Java中类只有单继承,没有多继承! 继承是类和类之间的一种关系。除此之外,类和类 阅读全文
posted @ 2020-08-13 11:23 nkndlawn 阅读(169) 评论(0) 推荐(0)
摘要:封装: 该露的露,该藏的藏 我们程序设计要追求“高内聚、低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用。 封装(数据的隐藏) 通常,应该禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。 记住这句话就够了:属性私有, 阅读全文
posted @ 2020-08-12 09:46 nkndlawn 阅读(141) 评论(0) 推荐(0)
摘要:fib函数的时间复杂度分析: 阅读全文
posted @ 2020-08-12 08:52 nkndlawn 阅读(150) 评论(0) 推荐(0)
摘要:时间复杂度(time complexity):估算程序指令的执行次数(执行时间) 空间复杂度(space complexity):估算所需占用的存储空间 大O的意思就是估算 复杂度: 注意:大O表示法仅仅是一种粗略的分析模型,是一种估算,能帮助我们短时间内了解一个算法的执行效率。(估算一下这个程序, 阅读全文
posted @ 2020-08-11 15:21 nkndlawn 阅读(192) 评论(0) 推荐(0)
摘要:package com.oop; public class Application { /* 1、类与对象 类是一个模板:抽象,对象是一个具体的实例 2、方法 定义、调用 3、对象的引用 引用类型: 基本类型(8) 对象是通过引用来操作的: 栈 >堆(地址) 4、属性:字段Field 成员变量 默认 阅读全文
posted @ 2020-08-11 14:40 nkndlawn 阅读(81) 评论(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 阅读(68) 评论(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 阅读(160) 评论(0) 推荐(0)
摘要:如果单从执行效率上进行评估,可能会想到这么一种方案 比较不同算法对同一组输入的执行处理时间 这种方案也叫做:事后统计法 上述方案有比较明显的缺点 执行时间严重依赖硬件以及运行时各种不确定的环境因素 必须编写相应的测算代码 测试数据的选择比较难保证公正性 一般从以下维度来评估算法的优劣 正确性、可读性 阅读全文
posted @ 2020-08-08 19:09 nkndlawn 阅读(1201) 评论(0) 推荐(0)
摘要:类与对象的关系: 对象包含具体实例,比如 张三是人(人就是一个类,张三就是类的具体实例(对象)),学生是小? 赋值和调用这里有些区别。以前的方法调用,在main里面可以创建一个新的变量名把其中包含进去。现在的是调用类,为类创建具体实例(对象)。 创建与初始化对象: new 之后就是一个具体的实例了。 阅读全文
posted @ 2020-08-08 15:27 nkndlawn 阅读(197) 评论(0) 推荐(0)
摘要:demo01.java package com.sjjg; public class demo01 { /* 0 1 2 3 4 5 * 0 1 1 2 3 5 8 13 .... */ // O(2^n) public static int fib1(int n) { if (n <= 1) re 阅读全文
posted @ 2020-08-07 16:11 nkndlawn 阅读(151) 评论(0) 推荐(0)
摘要:类名.方法名 方法的调用:例如递归: 静态方法 非静态方法 静态方法调用: //静态方法调用 // Demo02类 中 调用 Student类 中 say()方法 // com.oop.Demo01 的Demo02类 package com.oop.Demo01; public class Demo 阅读全文
posted @ 2020-08-07 10:40 nkndlawn 阅读(129) 评论(0) 推荐(0)
摘要:回顾方法及加深 方法的定义 修饰符 返回类型 break:跳出switch,结束循环 和 return 的区别 方法名:注意规范 见名知意 参数列表: (参数类型, 参数名) … 异常抛出 方法的调用:递归 静态方法 非静态方法 形参和实参 值传递和引用传递 this关键字 package com. 阅读全文
posted @ 2020-08-06 14:30 nkndlawn 阅读(95) 评论(0) 推荐(0)
摘要:面向对象目录: 属性 + 方法 =类 面向过程,面向对象: 面向对象是一个具体的框架 , 面向过程是一个具体的执行的流程 面向过程是一个具体的,面向对象是一个抽象的 面向过程思想: 步骤清晰简单,第一步做什么,第二步做什么… //线性思维 面向过程适合处理一些较为简单的问题 面向对象思想: 物以类聚 阅读全文
posted @ 2020-08-05 13:15 nkndlawn 阅读(560) 评论(0) 推荐(0)
摘要:稀疏数组: 稀疏数组介绍: 当一个数组中大部分元素为0,或者同一值的数组,可以使用稀疏数组来保存该数组。 稀疏数组的处理方式是: 记录数组一共有几行几列,有多少给不同值 把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模 如下图:左边是原始数组,右边是稀疏数组 需求:编写五子棋 阅读全文
posted @ 2020-08-04 17:33 nkndlawn 阅读(100) 评论(0) 推荐(0)
摘要:冒泡排序执行流程: 写两层循环,第一层循环来控制要走多少次,第二层(内层)循环比较两个数,如果第二个数比第一个小,两者交换位置,第二层(内层)循环的次数=x.length -1 - i(执行第几次),执行后通过main方法调用,调用的方法:abc(a),abc为方法名,然后ctrl + alt + 阅读全文
posted @ 2020-08-03 16:56 nkndlawn 阅读(127) 评论(0) 推荐(0)
摘要:Arrays 类: 数组的工具类java.util.Arrays 由于数组对象本身并没有什么地方可以供我们调用,但API提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一项基本的操作。 查看JDK帮助文档,jdk api 1.8_google.CHM Arrays类中的方法都是stat 阅读全文
posted @ 2020-08-02 14:55 nkndlawn 阅读(121) 评论(0) 推荐(0)
摘要:二维数组: 多维数组可以看成是数组的数组,比如二维数组就是一个特别的一堆数组,其每一个元素都是一个一维数组。 二维数组 int a[][]= new int[2][5]; //解析:以上二维数组a可以看出一个两列五行的数组。 数组下标的使用: int a[10];这是一个整数型的数组a,有10个元素 阅读全文
posted @ 2020-08-02 11:09 nkndlawn 阅读(133) 评论(0) 推荐(0)
摘要:数组打印数组的全部元素,计算数组所有元素的和,查找数组中的最大元素 代码示例: package com.wenjian.array; public class ArrayDemo03 { public static void main(String[] args) { int[] num1 = {1 阅读全文
posted @ 2020-08-01 11:54 nkndlawn 阅读(120) 评论(0) 推荐(0)
摘要:数组的四个基本特点 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。(数组一旦定义就是确定的,要想扩容需要创建一个新的才可以) 其元素必须是相同类型,不允许出现混合类型。 数组中的元素可以是任何数据类型,包括基本类型和引用类型。 数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素 阅读全文
posted @ 2020-08-01 11:53 nkndlawn 阅读(680) 评论(0) 推荐(0)