笔记
flukyy
这个作者很懒,什么都没留下…
展开
-
IDEA怎么使用同一个项目的不同模块下的类
右键项目点击open module settings点击右侧modules点击dependencies添加要使用类所在模块(顺便,package本质是文件,属于module之下)原创 2021-02-03 13:11:19 · 1532 阅读 · 0 评论 -
异常处理(宋红康JAVASE)
一、异常的体系结构异常的体系结构java.lang.Throwable |-----java.lang.Error:一般不编写针对性的代码进行处理。 |-----java.lang.Exception:可以进行异常的处理 |------编译时异常(checked) |-----IOException |-----FileNotFoundException |-----ClassNotFoundException |----原创 2021-02-02 22:17:35 · 94 阅读 · 0 评论 -
(非重点)匿名类的例子 (宋红康JAVASE)
/* * 抽象类的匿名子类 * */public class PersonTest { public static void main(String[] args) { method(new Student());//匿名对象 Worker worker = new Worker(); method1(worker);//非匿名的类非匿名的对象 method1(new Worker());//非匿名的类匿名的对象 System.out.printl原创 2021-02-01 19:52:35 · 131 阅读 · 0 评论 -
(非重点)面向对象下 内部类 (宋红康JAVASE)
内部类:类的第五个成员1.定义:Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类.2.内部类的分类:成员内部类(静态、非静态 ) vs 局部内部类(方法内、代码块内、构造器内)3.成员内部类的理解:一方面,作为外部类的成员:调用外部类的结构可以被static修饰可以被4种不同的权限修饰另一方面,作为一个类:类内可以定义属性、方法、构造器等可以被final修饰,表示此类不能被继承。言外之意,不使用final,就可以被继承可以被abstract修饰4.原创 2021-02-01 19:45:11 · 77 阅读 · 0 评论 -
面向对象下 接口 (宋红康JAVASE)
接口的使用1.接口使用interface来定义2.Java中,接口和类是并列的两个结构3.如何定义接口:定义接口中的成员*3.1 JDK7及以前:只能定义全局常量和抽象方法全局常量:public static final的.但是书写时,可以省略不写抽象方法:public abstract的*3.2 JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法(略)4接口中不能定义构造器的!意味着接口不可以实例化5Java开发中,接口通过让类去实现(implements.原创 2021-02-01 18:57:40 · 104 阅读 · 0 评论 -
面向对象下 abstract关键字(宋红康JAVASE)
abstract关键字的使用1 abstract:抽象的2 abstract可以用来修饰的结构:类、方法3 abstract修饰类:抽象类此类不能实例化抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作4 abstract修饰方法:抽象方法抽象方法只有方法的声明,没有方法体包含抽象方法的类,一定是一个抽象类。反之,抽象类中可以没有抽象方法的。若子类重写了父类中的所有的抽象方法后原创 2021-02-01 17:12:02 · 569 阅读 · 0 评论 -
final关键字(宋红康JAVASE)
final可以用来修饰的结构:类、方法、变量final 用来修饰一个类:此类不能被其他类所继承。比如:String类、System类、StringBuffer类final 用来修饰方法:表明此方法不可以被重写比如:Object类中getClass();final 用来修饰变量:此时的"变量"就称为是一个常量4.1 final修饰属性:可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器中初始化4.2 final修饰局部变量:尤其是使用final修...原创 2021-01-31 23:07:43 · 64 阅读 · 0 评论 -
属性赋值执行顺序&(非重点)代码块(宋红康JAVASE)
类的成员之四:代码块(或初始化块)代码块的作用:用来初始化类、对象代码块如果有修饰的话,只能使用static.分类:静态代码块 vs 非静态代码块静态代码块内部可以有输出语句随着类的加载而执行,而且只执行一次作用:初始化类的信息如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行静态代码块的执行要优先于非静态代码块的执行静态代码块内只能调用静态的属性、静态的方法,不能调用非静态的结构非静态代码块内部可以有输出语句随..原创 2021-01-31 21:29:06 · 118 阅读 · 0 评论 -
static关键字(宋红康JAVASE)
static关键字的使用1.static:静态的2.static可以用来修饰:属性、方法、代码块、内部类3.使用static修饰属性:静态变量(或类变量)3.1 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改。静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变..原创 2021-01-31 17:37:36 · 66 阅读 · 0 评论 -
多态练习题,向下转型,instanceof关键字(宋红康JAVASE)
一、多态练习题class Base { int count = 10; public void display() { System.out.println(this.count); }}class Sub extends Base { int count = 20; public void display() { System.out.println(this.count); }}public class FieldMethodTest { public stati原创 2021-01-30 19:46:57 · 244 阅读 · 0 评论 -
面向对象中--继承性--override&super(宋红康JAVASE)
一、方法重写1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作*(属性没有重写一说)*2.应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。3 重写的规定:方法的声明: 权限修饰符 返回值类型 方法名(形参列表) throws 异常的类型{ * //方法体 * }约定俗称:子类中的叫重写的方法,父类中的叫被重写的方法① 子类重写的方法的方法名和形参列表与父类被重写的方法的方法名..原创 2021-01-25 20:31:29 · 177 阅读 · 0 评论 -
package、import关键字的使用(宋红康JAVASE)(非重点,会用即可)
一、package关键字的使用1.为了更好的实现项目中类的管理,提供包的概念2.使用package声明类或接口所属的包,声明在源文件的首行3.包,属于标识符,遵循标识符的命名规则、规范(xxxyyyzzz)、“见名知意”4.每"."一次,就代表一层文件目录。补充:同一个包下,不能命名同名的接口、类。不同的包下,可以命名同名的接口、类。二、import关键字的使用import:导入在源文件中显式的使用import结构导入指定包下的类、接口声明在包的声明和类的声明之间.原创 2021-01-15 20:05:57 · 78 阅读 · 0 评论 -
this关键字(宋红康JAVASE)
this关键字的使用:1.this可以用来修饰、调用:属性、方法、构造器2.this修饰属性和方法:this理解为:当前对象 或 当前正在创建的对象2.1 在类的方法中,我们可以使用"this.属性"或"this.方法"的方式,调用当前对象属性或方法。但是,通常情况下,我们都选择省略"this."。特殊情况下,如果方法的形参和类的属性同名时,我们必须显式的使用"this.变量"的方式,表明此变量是属性,而非形参。2.2 在类的构造器中,我们可以使用"this.属性"或"this...原创 2021-01-14 20:34:16 · 69 阅读 · 0 评论 -
属性赋值的过程(宋红康JAVASE)
总结:属性赋值的先后顺序① 默认初始化② 显式初始化③ 构造器中初始化④ 通过"对象.方法" 或 "对象.属性"的方式,赋值以上操作的先后顺序:① - ② - ③ - ④示例代码:原创 2021-01-14 19:34:39 · 130 阅读 · 1 评论 -
构造器
构造器是来创建所属类的对象的,可以被理解为一个特殊的方法。格式: new 类名();原创 2021-01-14 19:25:16 · 69 阅读 · 0 评论 -
权限修饰符(宋红康JAVASE)
体现封装性用来修饰类及类的内部结构:属性、方法、构造器、内部类- 对于类:只能用 缺省、public- 对于类的内部结构:四种修饰符都能用原创 2021-01-14 14:28:11 · 51 阅读 · 0 评论 -
*值传递(宋红康JAVASE)
一、局部变量中关于变量的赋值:如果变量是基本数据类型,此时赋值的是变量所保存的数据值。如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。二、方法中方法的形参的传递机制:值传递1.形参:方法定义时,声明的小括号内的参数实参:方法调用时,实际传递给形参的数据2.值传递机制:如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。...原创 2021-01-12 19:52:40 · 70 阅读 · 0 评论 -
可变个数的形式参数(以String为例)与数组类型的形式参数的区别(宋红康JAVASE)
可变个数形参:数组类型的形参:可变个数形参的方法1.jdk 5.0新增的内容2.具体使用:2.1 可变个数形参的格式:数据类型 … 变量名2.2 当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个,。。。2.3 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载2.4 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。换句话说,二者不能共存。2.5 可变个数形参在方法的形参中,必须声明在末尾2.6原创 2021-01-12 17:16:10 · 233 阅读 · 0 评论 -
方法重载(宋红康JAVASE)
方法重载overload两同一不同- 同一个类、相同方法名- 参数列表不同:参数个数不同,参数类型不同判断是否为重载方法:跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系!在通过对象调用方法时,如何确定某一个指定的方法:方法名 —> 参数列表...原创 2021-01-11 21:35:21 · 55 阅读 · 0 评论 -
匿名对象和内存解析(宋红康JavaSE)
一、匿名对象:我们创建的对象,没显式的赋给一个变量名。即为匿名对象特点:匿名对象只能调用一次。举例: new Phone().sendEmail(); new Phone().playGame(); new Phone().price = 1999; new Phone().showPrice();//0.0应用场景:PhoneMall mall = new PhoneMall();//匿名对象的使用mall.show(new Phone());其中,class PhoneMa原创 2021-01-11 21:20:47 · 177 阅读 · 1 评论 -
属性和局部变量的异同比较(宋红康JavaSE笔记)
一、相同点定义变量的格式: 数据类型 变量名= 变量值先声明后使用变量都有其对应的作用域二、不同点局部变量与属性声明位置的不同局部变量: 形参上;方法内部;(代码块内;构造器形参;构造方法内部)属性:定义在类的一对大括号内可否用权限修饰符(体现封装性)修饰:属性:可(private;protected;缺省;public)局部变量:不可初始化值的情况: 属性:类的属性,根据其类型,都默认初始化值。 整型(byte、short、int、long:0)原创 2021-01-10 23:09:57 · 89 阅读 · 0 评论 -
0426(少异常处理)
abstract关键字的使用 abstract:抽象的 abstract可以用来修饰的结构:类、方法 abstract修饰类:抽象类 ==> 此类不能实例化== > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) > 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 abstrac...原创 2020-05-01 17:02:13 · 86 阅读 · 0 评论 -
0423_宋红康笔记(day14)
面向对象的三条主线类和类的成员(属性、方法、构造器、代码块、内部类)封装性(四个关键字)和多态其他关键字及其使用(static、final、abstract、interface)...原创 2020-05-01 16:40:51 · 250 阅读 · 0 评论 -
0420_宋红康笔记(day11-13)(多态、重写重载、super、子类对象实例化、转型、装箱、equals)
多态多态的使用:虚拟方法调用有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。总结:编译,看左边;运行,看右边。多态性的使用前提: ① 类的继承关系 ② 方法的重写对象的多态性,只适用于方法,不适用于属性(编译和运行都看左边)...原创 2020-04-21 20:41:09 · 147 阅读 · 0 评论 -
0418_宋红康笔记(day10)
属性赋值的先后顺序1 默认初始化 String name;2显式初始化 int age=1;3构造器中初始化 public Person(String sex){sex=female;}4通过“对象.方法”或“对象.属性”的方式赋值 p1.hobby=“play”;顺序 1234注意 123都是对象出生之前的操作,只能执行1次;4是对象出生以后的操作,可以执行无数次。JavaB...原创 2020-04-20 14:01:23 · 218 阅读 · 0 评论 -
0416_宋红康笔记(类内部的组成成分、形参传递、递归)
递归退出条件是最小值等于多少的时候分析代码块内存解析的时候要注意的两点:内存结构:栈(局部变量)、堆(new出来的结构:对象(非static成员变量)、数组)变量:成员变量 vs 局部变量(方法内、方法形参、构造器内、构造器形参、代码块内)成员变量可以不用初始化,其具有默认值;但是局部变量一定需要初始化或者赋值后才能使用,否则编译报错。...原创 2020-04-16 22:50:30 · 182 阅读 · 0 评论 -
day27_反射&设计模式(装饰、模板)
1:反射(理解)(1)类的加载及类加载器(2)反射:通过字节码文件对象,去使用成员变量,构造方法,成员方法(3)反射的使用A:通过反射获取构造方法并使用B:通过反射获取成员变量并使用C:通过反射获取成员方法并使用(4)反射案例A:通过反射运行配置文件的内容B:通过反射越过泛型检查C:通过反射给任意的一个对象的任意的属性赋值为指定的值(5)动态代理2:设计模式(1)装饰设...原创 2020-04-07 08:34:35 · 95 阅读 · 0 评论 -
day26_网络编程
1:网络编程(理解)(1)网络编程:用Java语言实现计算机间数据的信息传递和资源共享(2)网络编程模型(3)网络编程的三要素A:IP地址a:点分十进制b:IP地址的组成c:IP地址的分类d:dos命令e:InetAddressB:端口是应用程序的标识。范围:0-65535。其中0-1024不建议使用。C:协议UDP:数据打包,有限制,不连接,效率高,不可靠TCP:建立...原创 2020-04-07 08:32:28 · 66 阅读 · 0 评论 -
day25_GUI
1:如何让Netbeans的东西Eclipse能访问。在Eclipse中创建项目,把Netbeans项目的src下的东西给拿过来即可。注意:修改项目编码为UTF-82:GUI(了解)(1)用户图形界面GUI:方便直观CLI:需要记忆一下命令,麻烦(2)两个包:java.awt:和系统关联较强javax.swing:纯Java编写(3)GUI的继承体系组件:组件就是对象容器组...原创 2020-04-07 08:22:35 · 74 阅读 · 0 评论 -
day24_多线程2&设计模式
1:多线程(理解)(1)JDK5以后的针对线程的锁定操作和释放操作Lock锁(2)死锁问题的描述和代码体现(3)生产者和消费者多线程体现(线程间通信问题)以学生作为资源来实现的 资源类:Student 设置数据类:SetThread(生产者) 获取数据类:GetThread(消费者) 测试类:StudentDemo 代码: A:最基本的版本,只有一个数据。 B:改进...原创 2020-04-02 21:09:52 · 94 阅读 · 0 评论 -
day23_多线程1
1:多线程(理解)(1)多线程:一个应用程序有多条执行路径进程:正在执行的应用程序线程:进程的执行单元,执行路径单线程:一个应用程序只有一条执行路径多线程:一个应用程序有多条执行路径 多进程的意义? 提高CPU的使用率 多线程的意义? 提高应用程序的使用率(2)Java程序的运行原理及JVM的启动是多线程的吗? A:Java命令去启动JVM,JVM会启动一个进程,该进程会...原创 2020-04-02 20:52:16 · 85 阅读 · 0 评论 -
day22_IO其他流和类
1:登录注册IO版本案例(掌握)要求,对着写一遍。cn.itcast.pojo Usercn.itcast.dao UserDaocn.itcast.dao.impl UserDaoImplcn.itcast.game GuessNumbercn.itcast.test UserTest2:数据操作流(操作基本类型数据的流)(理解)(1)可以操作基本类型的数据(2)流对象名称 ...原创 2020-04-02 20:50:21 · 57 阅读 · 0 评论 -
day21 IO_字符流+总结
1:字符流(掌握)(1)字节流操作中文数据不是特别的方便,所以就出现了转换流。转换流的作用就是把字节流转换字符流来使用。(2)转换流其实是一个字符流字符流 = 字节流 + 编码表(3)编码表A:就是由字符和对应的数值组成的一张表B:常见的编码表ASCIIISO-8859-1GB2312GBKGB18030UTF-8C:字符串中的编码问题编码String – byte...原创 2020-04-02 20:42:22 · 72 阅读 · 0 评论 -
day_20 递归&IO_字节流
1:递归(理解)(1)方法定义中调用方法本身的现象举例:老和尚给小和尚讲故事,我们学编程(2)递归的注意事项;A:要有出口,否则就是死递归B:次数不能过多,否则内存溢出C:构造方法不能递归使用(3)递归的案例:A:递归求阶乘B:兔子问题C:递归输出指定目录下所有指定后缀名的文件绝对路径D:递归删除带内容的目录(小心使用)2:IO流(掌握)(1)IO用于在设备间进行数据传输...原创 2020-03-29 15:10:34 · 85 阅读 · 0 评论 -
day19_Exception&IO_File
1:异常(理解)(1)程序出现的不正常的情况。(2)异常的体系Throwable|–Error 严重问题,我们不处理。|–Exception|–RuntimeException 运行期异常,我们需要修正代码|–非RuntimeException 编译期异常,必须处理的,否则程序编译不通过(3)异常的处理:A:JVM的默认处理把异常的名称,原因,位置等信息输出在控制台,但是呢程序...原创 2020-03-25 22:52:41 · 75 阅读 · 0 评论 -
集合总结
1:集合(HashSet-HashMap,HashTable;LinkedHashSet-LinkedHashMap;TreeSwt-TreeMap)Collection(单列集合)List(有序,可重复)ArrayList底层数据结构是数组,查询快,增删慢线程不安全,效率高Vector底层数据结构是数组,查询快,增删慢线程安全,效率低LinkedList底层数据结构是链表,...原创 2020-03-24 21:21:02 · 72 阅读 · 0 评论 -
day18_Map子类&Collections
1:Map(掌握)(1)将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。(2)Map和Collection的区别?A:Map 存储的是键值对形式的元素,键唯一,值可以重复。夫妻对B:Collection 存储的是单独出现的元素,子接口Set元素唯一,子接口List元素可重复。光棍(3)Map接口功能概述(自己补齐)1)添加功能 V put(K key,V...原创 2020-03-24 18:07:11 · 78 阅读 · 0 评论 -
day17_Set子类保证元素唯一、有序的方法
1:登录注册案例(理解)2:Set集合(理解)(1)Set集合的特点无序,唯一(2)HashSet集合(掌握)A:底层数据结构是哈希表(是一个元素为链表的数组)B:哈希表底层依赖两个方法:hashCode()和equals()执行顺序:首先比较哈希值是否相同相同:继续执行equals()方法返回true:元素重复了,不添加返回false:直接把元素添加到集合不同:就直接把元...原创 2020-03-22 14:54:12 · 414 阅读 · 0 评论 -
day16_List集合的子类新方法
1:List的子类(掌握)(1)List的子类特点ArrayList:底层数据结构是数组,查询快,增删慢线程不安全,效率高Vector:底层数据结构是数组,查询快,增删慢线程安全,效率低LinkedList:底层数据结构是链表,查询慢,增删快线程不安全,效率高(2)ArrayListA:没有特有功能需要学习B:案例a:ArrayList存储字符串并遍历b:ArrayL...原创 2020-03-20 19:34:20 · 106 阅读 · 0 评论 -
day15_集合Collection&List
1:对象数组(掌握)(1)数组既可以存储基本数据类型,也可以存储引用类型。它存储引用类型的时候的数组就叫对象数组。(2)案例:用数组存储5个学生对象,并遍历数组。2:集合(Collection)(掌握)(1)集合的由来?我们学习的是Java – 面向对象 – 操作很多对象 – 存储 – 容器(数组和StringBuffer) – 数组而数组的长度固定,所以不适合做变化的需求,Java...原创 2020-03-17 17:11:30 · 119 阅读 · 0 评论