随笔分类 -  JAVA SE

摘要:1.String为什么是不可变的Unicode字符序列? String内部源码:private final char value[]; 字符串全部储存到一个字节型数组中,并且是final型,也就是常量。我们也称String是不可变对象。 例: 2.字符串的比较 3.StringBuilder类和St 阅读全文
posted @ 2020-06-26 10:03 CKuan 阅读(246) 评论(0) 推荐(0)
摘要:1.包装类是什么? java中我们经常将基本数据类型转换为对象,例:将基本数据类型存储到object[]数组或集合中进行操作 为了解决这个问题,Java在设计类的时候为每个基本数据类型设计了一个对应的类进行代表 这八个和基本数据类型对应的类统称包装类 包装类位于java.lang包下 以下是八种数据 阅读全文
posted @ 2020-06-25 18:59 CKuan 阅读(252) 评论(0) 推荐(0)
摘要:1.数组的拷贝 System类里包含一个static void arraycopy(object src,int scrops,object dest,int destpos,int length)方法,该方法可以将src数组里的元素值赋值给dest数组的元素。 其中srcops指定从src数组的第 阅读全文
posted @ 2020-06-25 14:18 CKuan 阅读(230) 评论(0) 推荐(0)
摘要:1.字符串 1.String类又称作不可变字符序列 2.String位于java.lang包中,java程序默认导入java.lang包下所有的类 3.java字符串就是Unicode字符序列,例如字符串“java”就是4个Unicode字符:‘j’,‘a’,‘v’,‘a’组成的 4.java中没有 阅读全文
posted @ 2020-06-23 18:01 CKuan 阅读(343) 评论(0) 推荐(0)
摘要:内部类分为:成员内部类(静态和非静态)、匿名内部类、局部内部类 1.成员内部类(可以使用private、default、protected、public任意修饰) 非静态内部类 1.非静态内部类必须寄存在一个外部类对象里。因此,如果有一个非静态内部类对象那么一定存在对应的外部类对象 2.非静态内部类 阅读全文
posted @ 2020-06-22 21:06 CKuan 阅读(215) 评论(0) 推荐(0)
摘要:1.抽象类和抽象方法(abstract关键字) 1.抽象方法 使用abstract修饰的方法,没有方法体,只有声明。定义了一种规范。其所在的抽象类的子类必须给抽象方法提供具体的实现。 2.抽象类 有抽象方法的类就是抽象类。通过抽象类,我们可以严格限制子类设计,使子类之间更加互通 例: 注: 1.有抽 阅读全文
posted @ 2020-06-21 17:28 CKuan 阅读(219) 评论(0) 推荐(0)
摘要:1.数组基础 数组的定义: 数组是相同类型数据的有序集合。数组描述的是相同类型的若干数据,按照一定的先后次序排列组合而成的。 其中每一个数据成为元素,每个元素可以通过索引来访问他们。 数组的三个基本特点: 1.长度确定,数组一旦被创建,它的大小就是不可以改变的。 2.其元素必须是相同类型,不允许出现 阅读全文
posted @ 2020-06-17 21:46 CKuan 阅读(272) 评论(0) 推荐(0)
摘要:1.多态(polymorphism) 多态指的是同一个方法调用,由于对象不用可能会有不用的行为。现实生活中,同一个方法,具体实现会完全不同。 比如: 动物会叫,狗就是汪汪汪,猫就是喵喵喵 多态的要点: 1.多态是方法的多态,不是属性的多态(多态与属性无关) 2.多态的存在要有三个必要条件:继承,方法 阅读全文
posted @ 2020-06-17 19:59 CKuan 阅读(247) 评论(0) 推荐(0)
摘要:1.封装的作用 程序设计要追求”高内聚,低耦合“ 高内聚:类的内部数据操作细节自己完成,不允许外部干涉。 低耦合:仅暴露少量的方法给外部使用,尽量方便外部调用。 类似设计电视,冰箱也是,外部看起来很简单,就几个开关,方便使用。内部很复杂,不对外展示。 封装的概念就产生于此,把对象的属性和操作结合为一 阅读全文
posted @ 2020-06-17 18:03 CKuan 阅读(238) 评论(0) 推荐(0)
摘要:Object类是所有java类的根基类,也就意味着,所有的java对象都拥有Object类的属性和方法 1.toString toString方法是Object类下面的方法 返回类名+@+16进制的hashcode,在输出后用字符串连接对象时,会自动调用该对象的toString()方法 toSrin 阅读全文
posted @ 2020-06-17 15:03 CKuan 阅读(311) 评论(0) 推荐(0)
摘要:之前主要了解了面向对象的基本概念,接下来的部分属于面向对象的三大特征:继承、封装、多态 1.继承(extends) 继承让我们更加容易实现类的扩展。子类继承父类,是父类的扩展,实现了代码的重用。 假如我们写一个人类,有姓名和年龄的属性,有吃的功能, 再写一个学生类,有姓名和年龄和学号的属性,有吃的功 阅读全文
posted @ 2020-06-17 14:24 CKuan 阅读(276) 评论(0) 推荐(0)
摘要:1.包(package) 包机制是java中管理类的重要手段。开发中,我们会遇到大量同名的类,通过包我们很容易解决类的重名问题 也可以实现类的有效管理。包对于类,相对于文件夹对于文件的作用。 我们通常package实现对包的管理,package的使用有两个特点 1.通常是类的第一句非注释性语言 2. 阅读全文
posted @ 2020-06-16 17:04 CKuan 阅读(399) 评论(0) 推荐(0)
摘要:注:java中,方法中所有的参数都是“值传递”,也就是说,传值只是传的是复印件,因此传值不会改变原值。 基本数据类型传参:传递副本,原件不会改变 引用类新传参:传递值得副本,但是引用类型值得是对象的地址,因此副本和原参数都指向了用一个地址,改变副本指向地址对象的值,原址也一同改变 例: 阅读全文
posted @ 2020-06-16 16:14 CKuan 阅读(336) 评论(0) 推荐(1)
摘要:1.static关键字 被static关键字修饰的方法称为静态方法 被static关键字修饰的成员变量称为静态变量(类变量)。其生命周期和类相同,在整个程序执行时都有效。 static修饰的成员变量或方法都从属于类,普通变量和方法从属于对象 静态变量:无论一个类实例化多少对象,它的静态变量只有一份拷 阅读全文
posted @ 2020-06-16 15:53 CKuan 阅读(369) 评论(0) 推荐(0)
摘要:1.构造方法的定义 构造方法:用于对象的初始化。 注: 1.通过new关键字调用! 2.构造器虽然有返回值,但是不能定义返回值类型,返回值的类型一定是本类,不能在构造器里使用return返回某一个值 3.如果没有定义构造方法,则编译器会自动添加一个无参的构造方法,如果已定义,编译器不会自动添加 4. 阅读全文
posted @ 2020-06-13 11:59 CKuan 阅读(285) 评论(0) 推荐(0)
摘要:1.类是什么? 比如我们想认知汽车这个东西,想知道什么是汽车,我们观察了各种各样的汽车后,总结出来汽车都是四个轱辘一个壳子,而总结的过程是我们抽象的过程。 通过抽象发现,车有以下特点: 1.带四个轱辘 2.带方向盘 3.有座椅 4.有个壳子 通过各种各样的汽车,我们抽象出来几个汽车的特征,我们就可以 阅读全文
posted @ 2020-06-13 09:54 CKuan 阅读(772) 评论(0) 推荐(0)
摘要:对象是什么? 对象(object)是一种数据管理的方式,在内存中就是一个数据块,里面包含了很多数据 那对象中到底有什么数据?为什么要包含这些数据? 最开始的我们不需要对象,使用基本数据类型(int,float)进行加减乘除就可以满足人类的需求,没有对象的概念。但是经过慢慢的发展,运算量变大 简单的基 阅读全文
posted @ 2020-06-11 10:08 CKuan 阅读(666) 评论(0) 推荐(0)
摘要:1.面向对象和面向过程 面向对象和面向过程都是对软件分析,开发,设计的一种思想,这是两种相辅相成的思考方式。 C属于面向过程语言,C++/JAVA都属于面向对象语言 什么是面向过程? 面向过程考虑问题时,是按步就班,一步一步实现。 例:把鸡蛋放入冰箱 第一步:打开冰箱门 第二步:拿起鸡蛋 第三步:放 阅读全文
posted @ 2020-06-11 09:34 CKuan 阅读(252) 评论(0) 推荐(0)
摘要:递归时一种很常见的方法,把问题简单化。 递归的本质就是:自己调用自己。 例1: public static void main(String[] args) { a(); } static void a(){ System.out.println("a"); a(); } 最后输出会无限循环输出a, 阅读全文
posted @ 2020-06-11 09:26 CKuan 阅读(266) 评论(0) 推荐(0)
摘要:1.方法的介绍 方法是一段完成某个特定功能的代码片段,类似C中的函数 方法也就是相当于给某个程序块起了名字,可以被反复调用,从而实现方法的功能 格式: 【修饰符1】.。。。【修饰符n】 【返回值类型】 【方法名】(【形式参数】){ 【语句块】; } 详解: 1.形式参数:在方法声明时用于接收外界传入 阅读全文
posted @ 2020-05-12 11:13 CKuan 阅读(375) 评论(0) 推荐(0)