
Java_Se
Se部分笔记
琉清霜
快 乐 肥宅!!!
展开
-
内部类
内部类 VS 外部类class A { } classB { } // 类和类之间是独立的 - 外部类class A {class B { } // 非静态内部类}package learn_inner_class;class Other2Class { public static void main(String[] args) { InnerClass ic = new InnerClass(); InnerClass.B b =.原创 2021-03-16 09:14:08 · 204 阅读 · 0 评论 -
泛型(Generic)
泛型是java1.5中增加的一个新特性,通过泛型可以写与类型无关的代码,即编写的代码可以被很多不同类型的对象所重用,经常用在一些通用的代码实现中,比如:java集合框架中的类几乎都是用泛型实现的。泛型的本质:类型参数化。 类似函数传参 ,传递不同的实参,函数将运行完将会产生不同的结果。class String implements Comparable<String>{.....}1.变量是对数据值变化的抽象2.方法是对执行过程的抽象3.泛型是对数据类型的抽象Java中的泛型原创 2021-03-15 14:49:39 · 154 阅读 · 0 评论 -
异常(Exception)
所谓异常指的就是程序在 运行时 出现错误时通知调用者的一种机制.关键字 “运行时”有些错误是这样的, 例如将 System.out.println 拼写错了, 写成了 system.out.println. 此时编译过程中就会出错, 这是 “编译期” 出错.而运行时指的是程序已经编译通过得到 class 文件了, 再由 JVM 执行过程中出现的错误.1.可以提前预知的错误2.无法提前预知的错误1.一个异常在Java中还是以对象的形式表现(这个对象的类,必须是Throwable类的子类,其子孙原创 2021-03-11 14:33:09 · 177 阅读 · 0 评论 -
对象的比较
1.对象和对象之间如何进行 相等or不想打的比较1. Java中我们只能通过引用去访问对象,即引用没有办法使用">" “<” 进行比较。2. 依赖于object提供了 equals方法 true:相等 false :不相等3.作为类的定义者,有责任,重写来自object类的equals方法,定义什么叫对象相等。4.作为类的使用者,有责任,当比较有所有对象是否相等时候,必须调用equals 方法进行比较。(不能简单的使用"==" "!= " 进行比较)String s = "...原创 2021-03-10 22:33:20 · 293 阅读 · 0 评论 -
接口(interface)
接口是抽象类的更进一步. 抽象类中还可以包含非抽象方法, 和字段. 而接口中包含的方法都是抽象方法, 字段只能包含静态常量interface 名称 {.....}接口中的方法:1.不要写 访问限定符 - 都是public2.不要写abstract3.不需要写方法体 void method();// 定义了接口//完全理解成定义了一个抽象类//1.接口不能直接实例化成对象//2.允许并且只允许,出现抽象方法public interface TrainService { //定义原创 2021-03-03 16:59:09 · 104 阅读 · 1 评论 -
继承2
class A extends B {.....}父类和子类的类加载+构造规则1.触发子类的加载时,优先处理完父类的加载。2.子类对象实例化时,优先处理完父类对象的实例化子类构造方法的规则 - 显示所有子类中的构造方法,必须通过super()调用父类的一个构造方法且该语句,必须第一个执行隐士规则如果子类中没有写出super(),则隐含着super()调用了父类的无惨构造方法属性名/方法名的识别this.xxx 优先查找子类中的属性/方法,没有找到时,继续去匹配父类中的属性和方法原创 2021-03-02 11:38:00 · 267 阅读 · 0 评论 -
类和对象——继承1
继承(inheritance)机制:是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构, 体现了由简单到复杂的认知过程。语法规则:基本语法: class 子类 extends 父类 { }使用 extends 指定父类.Java 中一个子类只能继承一个父类 (而C++/Python等语言支持多继承).子类会继承父类的所有 public 的字段和方法.对于父类的 priv原创 2021-02-21 23:03:37 · 109 阅读 · 3 评论 -
String类
常见的构造String的方式// 方式一String str = "Hello Bit";// 方式二String str2 = new String("Hello Bit");// 方式三char[] array = {'a', 'b', 'c'};String str3 = new String(array);String对象是 constant的 (不能修改)String 方法s.charAt(下标); 返回下标位置处的字符s.length();s.toCharArray(原创 2021-02-20 15:10:47 · 193 阅读 · 1 评论 -
包
类:不属于任何包属于一个包1.文件头上声明2.类文件,需要放置在正确文件夹包:如何声明一个类属于某个包1.需要开头通过package声明2.需要把Java文件放到对应的文件夹下特例 : 没有特别声明过包的类,可以认为输入默认包(default package) - 有特殊性规范:建议每个组织的报名,是你的域名的反写javase.liuqi.com 域名com.liuqi.javase.类2.如何在一个类中使用其他类:1.两个类输入同一级目录(同一级包)下,直接使用.原创 2021-02-19 21:38:18 · 168 阅读 · 0 评论 -
类和对象_4
关于属性的初始化规则前置: 实例化对象分为多步1.new:在内存中,根据类(teacher)的信息,计算出一个teacher对象需要多少内存 ,并且申请内存,将申请下来的内存数据,全部初始化为0x02.执行类中关于对象属性的初始化操作,(包括但不限于构造方法) - 执行完成之后,对象就是一个完整的情况了。3.让a引用,指向刚才实例化的对象,完成之后,程序员就可以正常使用这个对象了。对象的初始化方式有两种:第一类分为两种 : 定义时初始化和通过构造代码块初始化第一类:通过构造方法定义原创 2021-02-18 11:30:33 · 117 阅读 · 0 评论 -
类和对象_3
Static修饰属性 : Java静态属性和类相关,和具体的实例相关。换句话说,同一个类的不同实例共用同一个静态属性。修饰方法:如果任何方法上应用static关键字,次方法称为静态方法。1.静态方法属于类,而不属于类的对象。2.可以直接调用静态方法,而无需创建类的实例。3.静态方法可以访问静态数据成员,并可以更改静态数据成员的值。注意事项1: 静态方法和实例无关, 而是和类相关. 因此这导致两个情况:1.静态方法不能直接使用非静态数据成员或者调用非静态方法(非静态数据成员和方法都是和实例相关的原创 2021-02-14 14:59:31 · 86 阅读 · 0 评论 -
类和对象_2
对象的初始化和构造方法构造方法是一种特殊方法, 使用关键字new实例化新对象时会被自动调用, 用于完成初始化操作.new 执行过程1.为对象分配内存空间2.调用对象的构造方法语法规则1.方法名称必须与类的名称相同2.构造方法没有返回值类型声明3.每一个类中一定至少存在一个构造方法(没有明确定义,则系统自动生成一个无参的构造方法)注意事项1.如果类中没有提供任何的构造函数,那么编译器会默认生成一个不带有参数的构造函数2.若类中定义了构造方法,则默认的无参构造将不再生成。3.构造方法支持原创 2021-02-10 23:33:01 · 96 阅读 · 0 评论 -
关于Java中的引用的用法
引用(reference) <-> 对象(object)/ 实例(instance)1.Java中没有指针和地址的概念。2. 认识对象的其中的一种视角 -> 组织管理数组的一个概念,表现为内存中的一块区域。对象 <- 引用注意: Java中不允许程序接触到对象,只能通过引用这种工具,间接的操作对象。1.安全! 接触不到对象,就不会破坏对象。2.可控,只能使用规定范围内的功能!3.引用也细分类型Scanner s; Random r; String原创 2021-01-23 18:34:59 · 600 阅读 · 1 评论 -
不同难度的猜数字游戏版
import java.util.Random;import java.util.Scanner;public class GuessNumber { public static void main(String[] args) { int level = selectLevel(); int range = getRandomRange(level); int random = generateRandom(range); i.原创 2021-01-14 17:20:32 · 582 阅读 · 0 评论 -
顺序表和链表
顺序表和链表1.线性表2.顺序表3.链表4.顺序表和链表的区别和联系1. 线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。2. 顺...原创 2020-12-23 17:19:27 · 470 阅读 · 0 评论 -
类和对象_1
C语言是面向过程的,关注的是过程,分析出求解问题的过程,通过函数调用逐步解决问题。JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。类和类的实例化:类就是一类对象的统称。对象就是这一类具体化的一个实例。 public int age;// 成员属性 public String name ; public String sex ;...原创 2019-10-29 17:00:07 · 107 阅读 · 0 评论 -
数组的定义与使用
数组:存放相同类型数据的集合,内存是连续的。(使用下标去访问数组中的元素)基本语法:数据类型 [ ] 数组名 =new 数据类型 [ ] {初始化数据} ; //动态初始化数据类型 [ ] 数组名 = {初始化数据} ; //静态初始化例如 int [ ] arr =new int [3] {1,2,3} ;int [ ] arr = {1,2,3};int [ ] arr = ...原创 2019-10-20 21:16:16 · 349 阅读 · 3 评论 -
分支结构
if语句基本语法形式1 : if(布尔表达式){//条件满足时执行代码}基本语法形式2 : if(布尔表达式){//条件满足时执行代码}else{//}基本语法形式3 : if(布尔表达式){//条件满足时执行代码}else{//}else{//}switch语句switch(整数,枚举,字符,字符串){case 内容1:{内容满足时执行语句;break;...原创 2019-10-14 16:19:59 · 103 阅读 · 0 评论 -
方法的基本用法,方法的重载,方法递归的总结
1 方法的基本用法:方法存在的意义:1. 能够模块化的组织代码。2. 做到代码重复使用,一份代码可以在多个位置使用。3. 让带代码更好理解跟简单。4. 直接调用现有方法开发,不必重复。方法定义public static 方法返回值 方法名称 ([参数类型 形参...]){方法具体代码;return 返回值}注意事项:1.方法定义时,参数可以没有,但是每个参数需要指定类型2.方法...原创 2019-10-13 10:03:10 · 139 阅读 · 0 评论 -
Java中的变量和运算符
首先变量有8中:分别是byte char short int longfloat double boolean 。原创 2019-10-10 23:11:38 · 105 阅读 · 0 评论 -
冯诺依曼体系结构
美籍匈牙利数学家冯·诺伊曼于1946年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。 冯·诺伊曼体系结构冯·诺伊曼理论的要点是:计算机的数制采用二进制;计算机应该按照程序顺序执行。人们把冯·诺伊曼的这个理论称为冯·诺伊曼体系结构。冯.诺伊曼体系结构是现代计算机的基础,现在大多计算机仍是冯.诺伊曼计算机的组织结构,只是作了一些改进而已,并没有从根本上突破冯体系结...原创 2019-10-09 23:01:55 · 618 阅读 · 0 评论