随笔分类 -  Java基础

自己看视频记的笔记
摘要:异常(Exception) 基本概念 快捷键:ctrl+alt+t 异常体系图(重点!!!) ps:这里只写了五个基本的运行异常,想自己看的可以在idea里通过追throwable类来查看 常见运行时异常 常见编译异常 异常处理的两种方式 try-catch-finally 当程序捕获到异常的时候立 阅读全文
posted @ 2021-12-25 16:09 紫英626 阅读(92) 评论(0) 推荐(0)
摘要:枚举(enumeration)类 两种实现方式:自定义类实现、使用enum关键字实现 自定义枚举类 引出: 定义一个Season类,但是只想要春夏秋冬四个对象,不想让人为添加 格式: 1.将构造器私有化,防止直接new 2.去掉set方法,防止属性被修改,可以留下get方法 3.在类的内部直接创建固 阅读全文
posted @ 2021-12-20 21:22 紫英626 阅读(99) 评论(2) 推荐(0)
摘要:内部类 基本介绍 类的五大成员:属性、方法、构造器、代码块、内部类 分类 局部内部类 说明: 局部内部类是定义在外部类的局部位置之中(比如方法或者代码块),并且有类名。 1.可以直接访问外部类的所有成员,包括私有成员。 2.不能添加访问修饰符,但是可以使用final修饰。因为它的地位就相当于一个局部 阅读全文
posted @ 2021-12-18 09:44 紫英626 阅读(101) 评论(0) 推荐(0)
摘要:接口 默认关键字(default) 使用细节 接口的实现补充了Java的单继承机制。当子类继承了一个父类,则自动拥有父类的方法,如果还想实现一些拓展功能,就可以通过实现接口的方式来扩展。 小猴子继承了大猴子天生会爬树,但是可以通过学习(接口)来像小鸟一样飞翔和小鱼一样游泳 接口的多态 接口的多态传递 阅读全文
posted @ 2021-12-17 17:46 紫英626 阅读(42) 评论(0) 推荐(0)
摘要:抽象类(abstrct) 使用细节: 1.抽象类不能被实例化 2.抽象类可以不包含abstract方法 3.一旦一个类包含了abstract方法则该类必须被声明为abstract类 4.abstract只能修饰类和方法,不能修饰其他 5.abstract类的本质还是类,即可拥有正常类的所有构成要素( 阅读全文
posted @ 2021-12-17 12:31 紫英626 阅读(50) 评论(0) 推荐(0)
摘要:final关键字 7.说明:搭配使用可以实现调用final变量但是不会导致类加载(推荐) 阅读全文
posted @ 2021-12-17 11:49 紫英626 阅读(27) 评论(0) 推荐(0)
摘要:单例模式 饿汉式 步骤: 1.构造器私有化(为了防止直接new) 2.在类的内部创建一个static的私有化对象 3.提供一个公共的static方法来返回刚才的对象 单例模式的对象一般都是重量级的对象,饿汉模式的对象在类加载的时候就已经被创建好,但可能用不到,所以可能会造成资源的浪费。 public 阅读全文
posted @ 2021-12-17 02:00 紫英626 阅读(62) 评论(0) 推荐(0)
摘要:代码块 如果构造器中有相同的语句,可以将其放入一个代码块中,这样的话不管我们调用哪个构造器,都会优先调用代码块的内容,代码块的调用顺序优先于构造器。 (静态)方法只有在被调用时才执行,类加载时不执行 使用细节 1.static代码块是在类加载的时候执行,只执行一次 2.普通代码块是在创建对象的时候调 阅读全文
posted @ 2021-12-17 01:25 紫英626 阅读(71) 评论(0) 推荐(0)
摘要:类变量和类方法 类变量 什么是类变量 定义方法 访问方式 特点 所以即使没有创建对象实例也可以访问 使用细节 类方法 定义方法 调用方式 使用static方法就可以访问static变量 经典使用场景 使用细节 main方法 另外 卖弄方法也是一个普通方法,是可以继承和重载重写的 给args传参数可以 阅读全文
posted @ 2021-12-16 10:17 紫英626 阅读(34) 评论(0) 推荐(0)
摘要:能否调用某个方法看编译类型,但是运行的时候是从运行类型开始找起(动态绑定) 向上转型和向下转型指的是运行类型,编译类型无法改变 阅读全文
posted @ 2021-12-14 09:56 紫英626 阅读(37) 评论(0) 推荐(0)
摘要:F9 resume 执行到下一个断点 阅读全文
posted @ 2021-12-13 00:42 紫英626 阅读(81) 评论(0) 推荐(0)
摘要:==和equals 可以查看jdk原码 用structrue查看object类的结构 public boolean equals(Object obj) { return (this == obj); } String类对其进行了重写 public boolean equals(Object anO 阅读全文
posted @ 2021-12-12 23:06 紫英626 阅读(59) 评论(0) 推荐(0)
摘要:方法重写(override) 重写(override)和重载的比较(overload) 多态(polymorphic) package test; /** * @author 紫英 * @version 1.0 * @discription 随便写 */ class Test { public st 阅读全文
posted @ 2021-12-12 00:25 紫英626 阅读(58) 评论(0) 推荐(0)
摘要:封装(encapsulation) 好处: 隐藏实现细节 可以对数据进行验证,保证安全且合理 实现步骤: 为确保安全可以在构造器中写上set方法 public Person(String name, int age, double salary, String job) { this.setName 阅读全文
posted @ 2021-12-11 01:31 紫英626 阅读(78) 评论(0) 推荐(0)
摘要:包 同一个包下类名不可以相同 访问修饰符(Modifier) 阅读全文
posted @ 2021-12-10 23:44 紫英626 阅读(27) 评论(0) 推荐(0)
摘要:编写类A01,定义方法max(),实现求某个double数组的最大值 我的: package oop; public class Homework01 { public static void main(String[] args) { double [] array={1.5,6.5,3.14,8 阅读全文
posted @ 2021-12-10 01:31 紫英626 阅读(60) 评论(0) 推荐(0)
摘要:构造器/构造方法(constructor) 简介: 不能用对象来调用构造器 javap:反编译指令——对.class文件使用,能看到编译前的源文件,常用的有javap-c(反汇编) ,-v public static void main(String[] args) { Person01 p1 = 阅读全文
posted @ 2021-12-10 00:56 紫英626 阅读(98) 评论(0) 推荐(0)
摘要:方法重载(overload) 简介 这种不能被称为重载(只是名字不一样) 返回值不同也不算重载,是方法的重复定义。 可变参数(variable parameters) 小练习: public class Varparameter { //可变参数 public static void main(St 阅读全文
posted @ 2021-12-09 03:18 紫英626 阅读(63) 评论(0) 推荐(0)
摘要:递归(recursion) 首先明确一个知识点——方法执行完后会返回到调用它的地方。 小例子: 每个栈都会走玩自己的流程在释放,n=2的时候开始释放,然后逐级返回到上一个栈空间——即调用自己的地方,然后开始打印。 如果改成: 则只输出一个n=2,以为在开始返回的时候之前栈的n都>2所以就不走else 阅读全文
posted @ 2021-12-08 21:42 紫英626 阅读(69) 评论(0) 推荐(0)
摘要:类与对象 属性 类的属性也可以叫做成员变量、字段、field 属性细节: 堆中开辟的空间以及相应的数据才是真正的对象,cat只是指向这个对象,称为对象引用(对象名) 对象的创建 属性的访问 对象是引用类型,p1和p2指向同一个地址,所以p1改变的同时p2也跟着改变。 类信息只会加载一次 这里的 b= 阅读全文
posted @ 2021-12-08 18:47 紫英626 阅读(43) 评论(0) 推荐(0)

紫英